//Edits /// <summary> /// Fügt Daten zur einer Tabelle hinzu /// </summary> /// <param name="addData"></param> public override void InsertData(DataTable insertData) { string sqlCommand=String.Format("INSERT INTO \"{0}\" (", insertData.TableName); //Columns for(int i=0; i<insertData.Columns.Count; i++) { if(i==insertData.Columns.Count-1) sqlCommand+=" "+insertData.Columns[i]; else sqlCommand+=" "+insertData.Columns[i]+","; } sqlCommand+=") VALUES"; string tmpSqlCommand=sqlCommand; sqlCommand=tmpSqlCommand; sqlCommand+=" ("; for(int j=0; j<insertData.Columns.Count; j++) { if(j==insertData.Columns.Count-1) sqlCommand+=String.Format("?"); else sqlCommand+=String.Format("?,"); } sqlCommand+=")"; SQLiteVdbe tmpVdbe=new SQLiteVdbe(InstSQLiteDatabase, sqlCommand); //Rows (Daten) for(int i=0; i<insertData.Rows.Count; i++) { tmpVdbe.Reset(); for(int j=0; j<insertData.Columns.Count; j++) { tmpVdbe.BindObjectToType(j+1, insertData.Rows[i].ItemArray[j]); } tmpVdbe.ExecuteStep(); } tmpVdbe.Close(); }
/// <summary> /// Updatet bestimmte Daten /// </summary> /// <param name="insertData"></param> public override void UpdateData(DataTable updateData, string PrimaryKey) { string sqlCommand=String.Format("UPDATE \"{0}\" SET ", updateData.TableName); string tmpSqlCommand=sqlCommand; //Rows (Daten) for(int i=0; i<updateData.Rows.Count; i++) { sqlCommand=tmpSqlCommand; for(int j=0; j<updateData.Columns.Count; j++) { if(updateData.Columns[j].Caption!=PrimaryKey) { //Parameters zusammenbauen if(j==updateData.Columns.Count-1) sqlCommand+=String.Format("{0}=?", updateData.Columns[j].Caption); else sqlCommand+=String.Format("{0}=?,", updateData.Columns[j].Caption); } } sqlCommand+=" WHERE "+PrimaryKey+" = "+updateData.Rows[i][PrimaryKey].ToString()+";"; SQLiteVdbe tmpVdbe=new SQLiteVdbe(InstSQLiteDatabase, sqlCommand); tmpVdbe.Reset(); int zTmp=1; for(int j=0; j<updateData.Columns.Count; j++) { if(updateData.Columns[j].Caption!=PrimaryKey) { //tmpVdbe.BindObjectToType(j+1, updateData.Rows[i].ItemArray[j]); tmpVdbe.BindObjectToType(zTmp, updateData.Rows[i].ItemArray[j]); zTmp++; } } tmpVdbe.ExecuteStep(); tmpVdbe.Close(); } }