c#如何利用循环插入数据库数据

landry1234 2009-05-25 02:17:56
我有一个sql数据库表food,该表的字段数是动态的(程序可对字段进行增加删除,因此food表字段数不确定),我要把一个datagridview中的一列插入food的一行中,这使得我在插入一行数据时遇到了麻烦,我的算法是:

//连接数据库
//读取food表字段数
string selstr = "select * from food";
SqlCommand cmd = new SqlCommand(selstr,connect);
SqlDataReader dr = new SqlDataReader();
int n = dr.FieldCount;
int i=0;
for (i = 0; i < n;i++ )
{

string insertstr = "insert into food(这里填什么?) values('"+dataGridView1.Rows[i].Cells[0].Value +"') ";
cmd = new SqlCommand(selstr,connect);
cmd.ExecuteNonQuery();
}

food后面的括号里应该填什么呢?应该是包含column的吧,只是我不知道怎么写
...全文
747 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2009-05-25
  • 打赏
  • 举报
回复
表名称知道可在数据库的系统表中找到该表对应的字段名称
我觉得依据你上面的描述用存储过程更好些,给存储过程传值可按字段顺序传,然后在数据库的系统表中找到该表对应的字段名称,写一个动态的插入SQL语句。
wangxinli_nissan 2009-05-25
  • 打赏
  • 举报
回复
表名称知道可在数据库的系统表中找到该表对应的字段名称
我觉得依据你上面的描述用存储过程更好些,给存储过程传值可按字段顺序传,然后在数据库的系统表中找到该表对应的字段名称,写一个动态的插入SQL语句。
SQL77 2009-05-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 landry1234 的回复:]
类似于row[0]cells[i]这样的定位,但是在sql定位语句是怎样的?
[/Quote]
如果你全是插入同一列就找到数据库里面的那列就好了,如果不同列,那真不知道怎么办了!
I<列数,如果你能确定要插入哪列的话,就用I确定列名吧!不过好像很难,新手不太懂
ch5201314zt 2009-05-25
  • 打赏
  • 举报
回复
填dataGridView1.Rows[i].Cells[0]这一列在数据库中对应的列名!
landry1234 2009-05-25
  • 打赏
  • 举报
回复
类似于row[0]cells[i]这样的定位,但是在sql定位语句是怎样的?
jwdream2008 2009-05-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 landry1234 的回复:]
这个我知道,问题是要怎么定位数据库表中的单元格,语法怎么写
[/Quote]
什么意思?
landry1234 2009-05-25
  • 打赏
  • 举报
回复
这个我知道,问题是要怎么定位数据库表中的单元格,语法怎么写
jingsong2008 2009-05-25
  • 打赏
  • 举报
回复
insert into food(这里填什么?) values('"+dataGridView1.Rows[i].Cells[0].Value +"')
这里只能填写你要插入的字段名称(数据库中的)
evaa006 2009-05-25
  • 打赏
  • 举报
回复
建议加点分。。。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧