将数据从datagridview插入数据库,但不绑定c# [英] insert data from datagridview to database but not binding c#
本文介绍了将数据从datagridview插入数据库,但不绑定c#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将数据从datagridview插入数据库,但是datagridview不会加载数据库(只取datagridview中的值)
我尝试过此代码
i want to insert data from datagridview to database but the datagridview dont load the database (just take the value in datagridview)
i tried this code
private void vButton12_Click(object sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection("server=localhost;User Id=root;database=sma9");
DataTable dtable = new DataTable();
MySqlDataAdapter adp = new MySqlDataAdapter("select * from tdetpinjam", conn);
adp.Fill(dtable);
for (int i = 0; i < dtable.Rows.Count; i++)
{
MySqlDataAdapter adp1 = new MySqlDataAdapter("INSERT INTO tdetpinjam (nopinjam,kodebuku,jumlah,tglkembali,status) VALUES ('" + dtable.Rows[i][dtable.Columns.IndexOf("Column1")] + "','" + dtable.Rows[i][dtable.Columns.IndexOf("Column2")] + "','" + dtable.Rows[i][dtable.Columns.IndexOf("Column3")] + "','" + dtable.Rows[i][dtable.Columns.IndexOf("Column4")] + "','" + dtable.Rows[i][dtable.Columns.IndexOf("Column5")] + "')", conn);
conn.Open();
adp1.Fill(dtable);
conn.Close();
}
}
但显示错误找不到列-1"
我的代码哪里出了问题?
but it show error "cannot find column -1"
where is the wrong from my code ? and is there a best solution to do this ?
推荐答案
两件事:
1)不要那样做:不要连接字符串来构建SQL命令.它使您对意外或蓄意的SQL注入攻击敞开大门,这可能会破坏整个数据库.请改用参数化查询.
2)检查您的列名-至少其中之一不是您想的那样,并且IndexOf返回-1表示没有这样的列"
Two things:
1) Don''t do it like that: Do not concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
2) Check your column names - at least one of them is not what you think it is and IndexOf is returning -1 to say "no such column"
这篇关于将数据从datagridview插入数据库,但不绑定c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文