日期:2014-05-18  浏览次数:20387 次

一条SQL语句问题!
就是把datagrid里面的内容写到数据库表里面
表名Moth 字段名:d1,d2,d3,d4
datagrid 列名 a1,a2,a3,a4
求一句~麻烦大家写下
string.Format(@" INSERT INTO tb1 (ID,column1) VALUES ({0}, '{1} ') ", Convert.ToDecimal(dr["ID"]), dr["column1"].ToString()); 



------解决方案--------------------
Convert.ToDecimal(dr["ID"]), 
->
Convert.ToDecimal(dr["ID"].ToString()),
------解决方案--------------------
用个循环,把datagrid上所有的数据都写进数据库。
如果不考虑类型转换。。。。。。也就是说都是字符串的话。
可以如下
string sql;
for(int i=o;i<datagrid.items.count;i++)
{
string a1=DataGrid1.Items[i].Cells[0].Text;
string a2=DataGrid1.Items[i].Cells[2].Text;
string a3=DataGrid1.Items[i].Cells[3].Text;
string a4=DataGrid1.Items[i].Cells[4].Text;
sql="insert into Moth values("+ a1 + ","+ a2 + ","+ a3 + ","+ a4 + ")" ;
//下面再用这个sql就行了
}
------解决方案--------------------
Convert.ToDecimal(dr["ID"]),
- > 
Convert.ToDecimal(dr["ID"].ToString()), 

把上面的部分改为下面的部分
dr["ID"]是对象,dr["ID"].ToString()才是String