谁帮我看看这段代码怎么写?

时间:2021-01-23 21:07:03
我在数据库上建了两个表格,A用来存储账户,列名有userid,username,password.!B。用来插入数据用的,userid,time,列。...目的是这样的,在一个窗体上放了两个button,一个签到,一个签退,点击签到的时候,把时间和登录的用户id同步写入到数据库B表格里!
下面的一段代码只能把values(7,'2011-2-1')写入到数据库,如果时间,userid要同步,该怎么写?
。。。。。自己把自己说晕了。。。。- -

   private void button1_Click(object sender, EventArgs e)//签到
        {
            string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string @time = DateTime.Now.ToLongTimeString();
            string inSert = "insert into attendance(userid,time)values (7,'2011-2-1')";//请问()应该怎么写
            SqlConnection myConn = new SqlConnection();
            myConn.ConnectionString = sql;
            SqlCommand myCommand = new SqlCommand(inSert, myConn);
            myCommand.Connection.Open();
             
            int flag = (int)myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            myConn.Close();
            if (flag > 0)
            {
                MessageBox.Show("签到成功");
            }
            else
            {
                MessageBox.Show("签到失败");
            }

            DateTime.Now.ToLongTimeString();//这个代码要放到哪里?
        }

8 个解决方案

#1


没看懂楼主的意思。。。。。。。

#2


要么写一个触发器,在向A表插入数据的时候,同时向B表中插入数据。

另外一种就是先后向2个表中插入数据

#3



private void button1_Click(object sender, EventArgs e)//签到
        {
            string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string t = DateTime.Now.ToLongTimeString();
            string inSert = "insert into attendance(userid,time)values (@userId, @time)";
            SqlConnection myConn = new SqlConnection();
            myConn.ConnectionString = sql;
            SqlCommand myCommand = new SqlCommand(inSert, myConn);
            //userId是当前登录用户的id,你在登录窗口可以获取得到的
            myCommand.Parameters.AddWithValue("@userId", userId);
            myCommand.Parameters.AddWithValue("@time", t);

            myCommand.Connection.Open();
             
            int flag = (int)myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            myConn.Close();
            if (flag > 0)
            {
                MessageBox.Show("签到成功");
            }
            else
            {
                MessageBox.Show("签到失败");
            }
        }

#4




string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string insertTime = DateTime.Now.ToLongTimeString();
            string inSert = "insert into attendance(userid,time)values (@userid,@insertTime)";//请问()应该怎么写
            SqlConnection myConn = new SqlConnection();
            myConn.ConnectionString = sql;
            SqlCommand myCommand = new SqlCommand(inSert, myConn);
            myCommand.Parameters.Add("@userid", SqlDbType.Int).Value = 7;//加上这两句
            myCommand.Parameters.Add("@insertTime", SqlDbType.DateTime).Value = insertTime;
            myCommand.Connection.Open();

            int flag = (int)myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            myConn.Close();
            if (flag > 0)
            {
                MessageBox.Show("签到成功");
            }
            else
            {
                MessageBox.Show("签到失败");
            }

#5


引用 3 楼 mathieuxiao 的回复:
C# code


private void button1_Click(object sender, EventArgs e)//签到
        {
            string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string t ……



参数化查询 '(@userid nvarchar(4000),@time nvarchar(18))insert into attendanc' 需要参数 @userid,但未提供该参数。????? 谁帮我看看这段代码怎么写?

#6


楼主貌似想做签到 类似OA系统 介意用session 

#7


id username 通过session得到

时间 可以用 datetime类的now()方法获取当前时间 

插入数据库即可 

如果不会写 偶可以帮你写个完整的代码 不过白天没时间 。。。

#8


引用 7 楼 liuying8448 的回复:
id username 通过session得到

时间 可以用 datetime类的now()方法获取当前时间 

插入数据库即可 

如果不会写 偶可以帮你写个完整的代码 不过白天没时间 。。。

是的,是的。我刚学的,就是不知道怎么声明userid....我在网上查的代码,一边复制粘帖,一边学习... 谁帮我看看这段代码怎么写?

#1


没看懂楼主的意思。。。。。。。

#2


要么写一个触发器,在向A表插入数据的时候,同时向B表中插入数据。

另外一种就是先后向2个表中插入数据

#3



private void button1_Click(object sender, EventArgs e)//签到
        {
            string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string t = DateTime.Now.ToLongTimeString();
            string inSert = "insert into attendance(userid,time)values (@userId, @time)";
            SqlConnection myConn = new SqlConnection();
            myConn.ConnectionString = sql;
            SqlCommand myCommand = new SqlCommand(inSert, myConn);
            //userId是当前登录用户的id,你在登录窗口可以获取得到的
            myCommand.Parameters.AddWithValue("@userId", userId);
            myCommand.Parameters.AddWithValue("@time", t);

            myCommand.Connection.Open();
             
            int flag = (int)myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            myConn.Close();
            if (flag > 0)
            {
                MessageBox.Show("签到成功");
            }
            else
            {
                MessageBox.Show("签到失败");
            }
        }

#4




string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string insertTime = DateTime.Now.ToLongTimeString();
            string inSert = "insert into attendance(userid,time)values (@userid,@insertTime)";//请问()应该怎么写
            SqlConnection myConn = new SqlConnection();
            myConn.ConnectionString = sql;
            SqlCommand myCommand = new SqlCommand(inSert, myConn);
            myCommand.Parameters.Add("@userid", SqlDbType.Int).Value = 7;//加上这两句
            myCommand.Parameters.Add("@insertTime", SqlDbType.DateTime).Value = insertTime;
            myCommand.Connection.Open();

            int flag = (int)myCommand.ExecuteNonQuery();
            myCommand.Connection.Close();
            myConn.Close();
            if (flag > 0)
            {
                MessageBox.Show("签到成功");
            }
            else
            {
                MessageBox.Show("签到失败");
            }

#5


引用 3 楼 mathieuxiao 的回复:
C# code


private void button1_Click(object sender, EventArgs e)//签到
        {
            string sql = "data source = .;initial catalog = QDDB; user id = sa; pwd = yuan ";
            string t ……



参数化查询 '(@userid nvarchar(4000),@time nvarchar(18))insert into attendanc' 需要参数 @userid,但未提供该参数。????? 谁帮我看看这段代码怎么写?

#6


楼主貌似想做签到 类似OA系统 介意用session 

#7


id username 通过session得到

时间 可以用 datetime类的now()方法获取当前时间 

插入数据库即可 

如果不会写 偶可以帮你写个完整的代码 不过白天没时间 。。。

#8


引用 7 楼 liuying8448 的回复:
id username 通过session得到

时间 可以用 datetime类的now()方法获取当前时间 

插入数据库即可 

如果不会写 偶可以帮你写个完整的代码 不过白天没时间 。。。

是的,是的。我刚学的,就是不知道怎么声明userid....我在网上查的代码,一边复制粘帖,一边学习... 谁帮我看看这段代码怎么写?