1

DataGridViewからデータベース テーブル名 test1 にデータをコピーしていますが、無効な操作の例外が発生しています。これを修正するにはどうすればよいですか?

foreach (DataGridViewRow row in dataGridView2.Rows)
{
    string mysqlStatement = "INSERT INTO test1(Paper, Authors, ID, GSCitations)VALUES("+row.Cells[0]+","+row.Cells[1]+","+row.Cells[2]+","+row.Cells[3]+");";
    MySqlCommand mysqlCmd = new MySqlCommand(mysqlStatement, connection);
    mysqlCmd.ExecuteNonQuery();
}
4

2 に答える 2

0

まず、タイプミスがあります。前にスペースを入れてくださいVALUES

次に、書き込まれた列に基づいて、varchar値を引用符で囲む必要があるデータ型があると思います。なんとなくこう

    string mysqlStatement = "INSERT INTO test1(Paper, Authors, ID, GSCitations) 
    VALUES('" + row.Cells[0].Value + "','" + row.Cells[1].Value + "'," 
    + row.Cells[2].Value + ",'" + row.Cells[3].Value + "');";
于 2013-02-24T14:18:46.283 に答える
0

SQL および C# コード内では、文字列値を引用符で囲む必要があります。その ID は数値であると想定しているため、セル 2 を引用符で囲んでいません。

    string mysqlStatement = "INSERT INTO test1(Paper, Authors, ID, GSCitations) VALUES ('"+row.Cells[0]+"','"+row.Cells[1]+"',"+row.Cells[2]+",'"+row.Cells[3]+"');";
于 2013-02-24T14:21:40.327 に答える