SQLite 오류가 발생했습니다. 내 프로그램에서 insert 문을 실행할 때 명령에 제공되는 매개 변수가 충분하지 않습니다. 그러나, 두 개의 다른 테이블에 데이터를 연속적으로 삽입하려고 시도하는 경우에만 축소됩니다. 의미는 하나에 데이터를 삽입하고 USING 문을 사용하고 있기 때문에 메서드의 모든 부분이 흐려집니다.C# SQLite error 명령에 제공된 매개 변수가 충분하지 않습니다.
하나의 테이블에 데이터를 삽입하고 디버깅을 중지하고 내 솔루션을 다시 작성한 다음 다른 테이블에 삽입하면이 오류가 발생하지 않습니다.
누구든지 아이디어가 있습니까? 마찬가지로 모든 것은 문장으로 캡슐화되어 있으므로 메모리에 무엇이 들어 있는지 알지 못합니다.
public static void SQLiteTableINSERT(string tableName)
{
using (SQLiteConnection Conn = new SQLiteConnection(SQLiteConn.Conn))
{
using (SQLiteTransaction sqliteTrans = Conn.BeginTransaction())
{
using (SQLiteCommand cmd = Conn.CreateCommand())
{
cmd.CommandText = PrepareInsert(tableName);
for (int i = 0; i < LocalDataSet.LocalDs.Tables[0].Rows.Count; ++i)
{
foreach (DataColumn col in LocalDataSet.LocalDs.Tables[0].Columns)
{
string temp = LocalDataSet.LocalDs.Tables[0].Rows[i][col, DataRowVersion.Current].ToString();
cmd.Parameters.AddWithValue("@" + col.ColumnName, temp);
}
cmd.ExecuteNonQuery();
}
}
sqliteTrans.Commit();
}
}
SQLite.SQLiteConn.Conn.Close();
}
어떤 아이디어가 좋은 것 :
여기 내 방법입니다. 감사합니다. .
는 사실 때문에 미스가 주도 가져 오는 Excel 파일의 이름. 나는 실제 데이터 세트 TableName을 아무 것도 설정하지 않았다. 그래서 나는 단지 인덱스를 사용한다. 이것은 사물의 거대한 계획에서 정말로 중요합니까? – Nathan