Exemple #1
0
		//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();
		}
Exemple #2
0
    /// <summary>
    /// Executes query that does return something (e.g. SELECT).
    /// </summary>
    /// <param name="query"></param>
    /// <returns></returns>
    public DataTable ExecuteQuery( String query )
    {
      // compiled query
      SQLiteVdbe statement = new SQLiteVdbe( this, query );

      // table for result of query
      DataTable table = new DataTable();

      // create new instance of DataTable with name "resultTable"
      table = new DataTable( "resultTable" );

      // reads rows
      do { } while ( ReadNextRow( statement.VirtualMachine(), table ) == Sqlite3.SQLITE_ROW );
      // finalize executing this query
      statement.Close();

      // returns table
      return table;
    }
Exemple #3
0
		/// <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();
			}
		}