使用gridview填加新行后插入数据库的问题,求大神 如果你是说"insert into tb_ev_C_cycle...."插入语句能覆盖,不能阿,如果是指gridvie,那得增加新一行,或"insert into tb_ev_C_cycle...."直接从文本框这里读取 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感觉是写gridview那里的foreach有问题,可以新增加一行,但是新增加的行中的数据会把上一次从文本框中读取的数据给覆盖成当前次的数据。 你语句跟一下,估计值就没变过!还有看不懂的是,你这样用循环Insert,难道不会重复插入吗??? 行数也变化了,每次点击添加也能添加行,gridview中的textbox的值也能对应在每行上,但是其他不在gridview中的textbox的值就对应不到每行上了,只能保存最后一次输入的,以前存上的会被最后一次输入的值覆盖,怎么解啊? 插入前做一个判断:例子: public void insertdata(string s1, string s2, string s3)//插入数据库 { SqlConnection con = new SqlConnection("Data Source=10.168.1.5;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False"); con.Open(); SqlCommand cmd = new SqlCommand(string.Format("select Count(*) from newtable where a= '{0}'", s1), con); if ((int)cmd.ExecuteScalar() > 0) { listBox1.Items.Add(s1 + " 数据已经存在"); } else { string sql = "insert into newtable(a,b,c) values('" + s1 + "','" + s2 + "','" + s3 +"')"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); listBox1.Items.Add(s1 + " 成功添加"); } cmd.Dispose(); con.Close(); } 对应不同的m值和n值,有不同的系数A,B,C,D,E,F,现在的问题是点击保存之后第一行的m,n值对应的A--F值可以存上,增加一行后添加新的m和n值,再输入的A--F值会把上次输入的数据覆盖。怎么改程序? 我不知道你的grid是不是从数据库里读取出来绑定显示的,但是你这样再输入,应该是要把数据插入库里,然后再添加,这样是不会覆盖的! 感觉他是循环插入,有一行m和n的时候下面A--F插入一次,添加一行m和n,再将A--F的值赋值插入两行,然后导致每行m和n的值,都循环插入最后输入的A--F的值,问题是不知道怎么改 俄罗斯方块游戏 using用法 窗体间怎样传值 关于.net的event 想了一夜也没想明白,特来救助。帮顶的朋友也有分。 用sharpzip可以进行字符串的压缩吗?如果不能有其它压缩字符串的方法吗? 更新数据出现的问题 问题: COM+和Windows Service什么关系 为什么窗口设计器不是生成一个resx静态资源,而是生成了要执行的代码? 一个txt图像的灰度数据。C#如何快速读取并且画出图像 在C#中如何使用API,谢谢! help:如何得到datagrid当前所绑定的数据源(表名) PID得到Excel对象 SQL Server2008 存储过程动态字段问题
感觉是写gridview那里的foreach有问题,可以新增加一行,但是新增加的行中的数据会把上一次从文本框中读取的数据给覆盖成当前次的数据。
还有看不懂的是,你这样用循环Insert,难道不会重复插入吗???
public void insertdata(string s1, string s2, string s3)//插入数据库
{
SqlConnection con = new SqlConnection("Data Source=10.168.1.5;Initial Catalog=data;User ID=sa;password=sa;Integrated Security=False");
con.Open();
SqlCommand cmd = new SqlCommand(string.Format("select Count(*) from newtable where a= '{0}'", s1), con);
if ((int)cmd.ExecuteScalar() > 0)
{
listBox1.Items.Add(s1 + " 数据已经存在");
}
else
{
string sql = "insert into newtable(a,b,c) values('" + s1 + "','" + s2 + "','" + s3 +"')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
listBox1.Items.Add(s1 + " 成功添加");
}
cmd.Dispose();
con.Close();
}
感觉他是循环插入,有一行m和n的时候下面A--F插入一次,添加一行m和n,再将A--F的值赋值插入两行,然后导致每行m和n的值,都循环插入最后输入的A--F的值,问题是不知道怎么改