当前位置:编程学习 > C#/ASP.NET >>

sql数据类型存储问题??

  string connstr = "server=.;database=library;uid=sa;pwd=foolish;";
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
                string sqlstr = "update book set 图书数量=图书数量-" + Convert.ToInt32(textBox5.Text) + "where 图书编号=" + textBox4.Text;
                SqlCommand comm = new SqlCommand(sqlstr, conn);
                comm.Connection = conn;
                
            if (comm.ExecuteNonQuery() > 0 )
            {
                string sqlstr2 = "insert into book2(被借阅图书编号,借阅数量) values(" + textBox4.Text + "," + Convert.ToInt32(textBox5.Text) + ")";
                SqlCommand comm2 = new SqlCommand(sqlstr2, conn);
                comm2.Connection = conn;
                comm2.ExecuteNonQuery();
                MessageBox.Show("借阅成功");
            }
            conn.Close();
我 点击借阅按钮后 保存 图书编号 到 被借阅图书编号 但是 图书编号是001 保存到被借阅图书编号却编程了1?
谁能告诉我为什么  我的图书编号 保存类型是nchar 被借阅图书编号 保存也是nchar --------------------编程问答-------------------- 谁能告诉我为什么? --------------------编程问答-------------------- 估计是你的textbox4和textbox5的位置错了。传的参数传换了位置了。你看看是不是这种情况? --------------------编程问答-------------------- 学过 c# 的应该都学过 sql server吧?
谁能 解答下? --------------------编程问答-------------------- 这个真没错 ,我检查了很多次。
所以应该不是这个问题。
引用 2 楼  的回复:
估计是你的textbox4和textbox5的位置错了。传的参数传换了位置了。你看看是不是这种情况?
--------------------编程问答-------------------- 改成这样试下

string sqlstr2 = "insert into book2(被借阅图书编号,借阅数量) values('" + textBox4.Text + "'," + Convert.ToInt32(textBox5.Text) + ")"
--------------------编程问答--------------------  string sqlstr2 = "insert into book2(被借阅图书编号,借阅数量) values(" + textBox4.Text + "," + Convert.ToInt32(textBox5.Text) + ")";
修改为

 string sqlstr2 = "insert into book2(被借阅图书编号,借阅数量) values('" + textBox4.Text + "'," + Convert.ToInt32(textBox5.Text) + ")";

被借阅图书编号是字符型,sql语句加上单引号
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,