2017-02-09 2 views
0

while 루프를 사용하여 List에서 테이블에 삽입하려고합니다. 루프를 통해 색인의 각 항목을 목록에서 작성하고 싶습니다. 삽입하려는 값에 오류가 발생했습니다.while 루프를 사용하여 테이블에 삽입

"SQL 논리 오류 또는 근처 데이터베이스 누락"[Y] "구문 오류"

while (y < Name.Count) 
{ 
    cmd.CommandText = "INSERT INTO Mytable(Column1,Column2) values(Column1[y], Column2[y])"; 
    cmd.ExecuteNonQuery(); 
    y++; 
} 
+0

변수 y 대신 문자열 리터럴 문자 'y'를 사용하고 있기 때문입니다. 해당 위치에 문자열 서식을 삽입해야합니다. –

답변

1

귀하의 질의가 정확하지 않습니다. 당신은 쿼리에 매개 변수를 전달해야합니다

"INSERT INTO Mytable(Column1,Column2) values(Column1[@Column1], Column2[@Column1])" 

command.Parameters.Add(new SqlParameter("@Column1", y)); 

내가 너라면, 나는이에 대한 Bulk Insert (유사하거나 뭔가를) 사용하고 하나의 여행에서 데이터베이스에있는 모든 데이터를 전송 것이라고 말했다 가졌어요.

+0

여전히 SQLite DB에서 작동합니까? –

+0

@BrettMinster 제발 편집을 참조하십시오. – CodingYoshi

-1

에 파라미터는 열 1 [Y] 및 열 2 [y]는, 데이터에 대한 인덱스로서 취급하지 구조가 아니라 일반 텍스트입니다.

cmd.CommandText = "INSERT INTO Mytable(Column1,Column2) values(" + Column1[y] + ", " + Column2[y] + ")"; 
+0

'String.Format' 메서드를 사용할 수 있으며이 메서드를 사용하는 것이 좋습니다. https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx http : //stackoverflow.com/questions/4671610/why-use-string-format –

+0

좋아,이 날 가까이있어. 이제 System.Data.SQLite.SQLiteException 오류가 발생합니다 : SQL 논리 오류 또는 누락 된 데이터베이스 해당 열 없음 : 이름 " –

+0

Column1과 Column2를 값을 설정할 테이블의 정확한 열 이름으로 바꿉니다. .. 존재하지 않는 "Name"열을 매핑하려고 시도하는 것 같습니다. https://www.tutorialspoint.com/sqlite/sqlite_insert_query.htm –

관련 문제