2012-06-10 100 views
0

我正在寫一個C#數據庫winform應用程序,並且執行此查詢時出現問題。它會拋出我這個錯誤:SQlite插入不工作

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))"; 
+1

請向我們展示該連接字符串的實際實例。只有這樣我們才能清楚地看到你正在使用的SQL語法。 –

+0

請把C#代碼放在這裏......併爲你自己查詢查詢的值並在這裏寫下它。 –

+0

請請,瞭解SQL注入攻擊! http://weblogs.asp.net/bleroy/archive/2004/08/18/please-please-please-learn-about-injection-attacks.aspx –

回答

2

你的C#字符串/ SQLite的SQL混合物還是顯得有些混亂,但我看到一個可能的問題如下:

您使用的是SELECT聲明以指示您的VALUES列表中的一個值。正如你可以看到in the syntax diagramSELECT聲明必須括在括號中。

+0

我只是想通了,但無論如何感謝 –

0

我懷疑一些SQL語法問題,我對你的select語句做了一些修改。

請嘗試:

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))');";} 
+0

.... ,'「+ dateTimePicker2.Value.ToString(」dMyyyy「)+」','「+」選擇 IFNULL(a,'0') AS idmajetok FROM(SELECT MAX(idmajetok)+ 1 AS a FROM subor))'';};} 我認爲這將插入select語句到表中,不會解析它 –