2012-06-10 6 views
0

C# 데이터베이스 winform 응용 프로그램을 작성 중이며이 쿼리를 실행하는 데 문제가 있습니다. 이 오류가 나를 throw합니다.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 injection attacs에 대해 배우십시오! 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 diagram에서 볼 수 있듯이 SELECT 문은 괄호로 묶어야합니다.

+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") + " '," "+"SELECT IFNULL (a,'0 ') AS3_AUTM_AUTOR_FORM (SELECT MAX (idmajetok) + 1 AS FROM subor)) '); ";} 나는 이것이 테이블에 select 문을 삽입 할 것이라고 생각한다. –

관련 문제