این کد رو امتحان کن،
یه دیتابیس ایجاد میکنه، بعد یه تیبل کوچیک و یه داده بهش اضافه می کنه و با یک کوئری بازیابیش می کنه.
فقط برای تست.
private void testwork(object sender, EventArgs e)
{
//createSecureDB();
int retVal = ExecuteNonQuery("CREATE TABLE [sample] ([id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,[name] NVARCHAR(50) NULL)");
retVal = ExecuteNonQuery("INSERT INTO sample values(null,'farzad')");
string name = ExecuteScalar("SELECT name FROM sample WHERE id = 1");
MessageBox.Show(name);
}
private void createSecureDB()
{
SQLiteConnection connection = new SQLiteConnection("Data Source=tmp.db3");
connection.Open();
connection.ChangePassword("123456");
connection.Close();
}
string conString = "Data Source=tmp.db3;Password=123456";
public DataTable ExecuteReader(string sql)
{
DataTable tbl = new DataTable();
SQLiteConnection connection = new SQLiteConnection(conString);
connection.Open();
SQLiteCommand mycommand = new SQLiteCommand(connection);
mycommand.CommandText = sql;
SQLiteDataReader reader = mycommand.ExecuteReader();
tbl.Load(reader);
reader.Close();
connection.Close();
return tbl;
}
public int ExecuteNonQuery(string sql)
{
SQLiteConnection connection = new SQLiteConnection(conString);
connection.Open();
SQLiteCommand mycommand = new SQLiteCommand(connection);
mycommand.CommandText = sql;
int rowsUpdated = mycommand.ExecuteNonQuery();
connection.Close();
return rowsUpdated;
}
public string ExecuteScalar(string sql)
{
SQLiteConnection connection = new SQLiteConnection(conString);
connection.Open();
SQLiteCommand mycommand = new SQLiteCommand(connection);
mycommand.CommandText = sql;
object value = mycommand.ExecuteScalar();
connection.Close();
return value.ToString();
}