0

C# データベースの winform アプリを作成していますが、このクエリの実行に問題があります。次のエラーが表示されます。

SQLite error
near "SELECT": syntax error

誰か助けてくれませんか?回答や提案をありがとう。

"INSERT into subor(idsubor, idpodfk, pnazovfk, datumpravop, podiel, podield, cislozLV,
datumzaradenia, idmajetok)
values (null, " + comboBox1.SelectedValue.ToString() + ", 
         '" + comboBox2.SelectedValue.ToString() + "', 
         '" + dateTimePicker1.Value.ToString("d. M. yyyy") + "', 
         '" + textBox2.Text + "',
          " + podield.ToString("0.0000", System.Globalization.CultureInfo.InvariantCulture) + ", 
         '" + textBox4.Text + "', 
         '" + dateTimePicker2.Value.ToString("d. M. yyyy") + "', 
              SELECT IFNULL(a, '0') AS idmajetok 
              FROM (SELECT MAX(idmajetok) + 1 AS a FROM subor))";
4

2 に答える 2

2

あなたの C# 文字列と SQLite SQL の混合物はまだやや混乱しているように見えますが、私が見ている可能性のある問題の 1 つは次のとおりです。

ステートメントを使用して、リストSELECT内の値の 1 つを示していますVALUES構文図でわかるように、そのSELECTステートメントは括弧で囲む必要があります。

于 2012-06-10T17:05:24.423 に答える
0

SQL 構文の問題が疑われ、選択ステートメントにいくつかの変更を加えました。

試してみてください:

string sqlInsert = "INSERT into subor(idsubor, idpodfk, pnazovfk, datumpravop, 
podiel,podield, cislozLV, datumzaradenia, idmajetok) values (null, '" + 
comboBox1.SelectedValue.ToString() + "','" + comboBox2.SelectedValue.ToString() + "','" + 
dateTimePicker1.Value.ToString("d.M.yyyy") + "','" + textBox2.Text + "','" + 
podield.ToString("0.0000", System.Globalization.CultureInfo.InvariantCulture) + ",'" + 
textBox4.Text + "','" + dateTimePicker2.Value.ToString("d.M.yyyy") + "','" + "SELECT 
IFNULL(a, '0') AS idmajetok FROM (SELECT MAX(idmajetok) + 1 AS a FROM subor) )');";}
于 2012-06-10T16:41:30.020 に答える