标签:datagridview style blog class code tar
IDE: VS2005
语言: C#
组件: sqlite-netFx20-setup-bundle-x86-2005-1.0.92.0
简介:
本示例使用SQLite的密码、外键功能。以及关闭临时文件(journal mode=Off)。
通过查询和插入(修改、删除)来演示C#使用SQLite的实用性。
拖拽2个TextBox、2个Button、1个DataGridView、1个SQLiteConnection、1个SQLiteCommand
设置SQLiteCommand的Connection属性为SQLiteConnection
完整的窗体:
(1)设置数据桥
dataAdapter = new SQLiteDataAdapter(sqLiteCommand1);
cmdBuilder = new SQLiteCommandBuilder(dataAdapter);
table = new DataTable(tblName);
dataAdapter.Fill(table);
dataGridView1.DataSource = table;
int iPos = statementStr.LastIndexOf("from") + 5;
String tblName = statementStr.Substring(iPos, (statementStr.Length - 1) - iPos);按照行来分解Insert语句;也可以执行Update、Delete等语句。
int i = edtStmt.Lines.Length;
for (int j = 0; j < i; j++)
{
String strSta = edtStmt.Lines[j].ToString();
sqLiteCommand1.CommandText = strSta;
sqLiteCommand1.ExecuteNonQuery();
}三、源代码
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SQLite;
namespace testSQLite
{
public partial class Form1 : Form
{
private DataTable table;
private SQLiteDataAdapter dataAdapter;
private SQLiteCommandBuilder cmdBuilder;
private String strFmt, connStr;
private String currDir;
public Form1()
{
InitializeComponent();
currDir = Directory.GetCurrentDirectory();
strFmt = "data source=\"" + currDir + "/{0}\""
+ ";page size=32768;"
+ "cache size=0;"
+ "Password=20130321;"
+ "foreign keys=True;"
+ "journal mode=Off";
}
private void btnExec_Click(object sender, EventArgs e)
{
if (edtStmt.Text.ToLower().IndexOf("insert") < 0) return;
connStr = string.Format(strFmt, edtDB.Text);
//
sqLiteConnection1.Close();
sqLiteConnection1.ConnectionString = connStr;
sqLiteConnection1.Open();
int i = edtStmt.Lines.Length;
for (int j = 0; j < i; j++)
{
String strSta = edtStmt.Lines[j].ToString();
sqLiteCommand1.CommandText = strSta;
sqLiteCommand1.ExecuteNonQuery();
}
MessageBox.Show("Insert Done");
}
private void btnSearch_Click(object sender, EventArgs e)
{
if (edtStmt.Text.IndexOf(";") < 0)
{
MessageBox.Show("Please enter a SQL statement terminator - ‘;‘");
return;
}
connStr = string.Format(strFmt, edtDB.Text);
String statementStr = edtStmt.Text.ToLower();
int iPos = statementStr.LastIndexOf("from") + 5;
String tblName = statementStr.Substring(iPos, (statementStr.Length - 1) - iPos);
sqLiteConnection1.Close();
sqLiteConnection1.ConnectionString = connStr;
sqLiteConnection1.Open();
sqLiteCommand1.CommandText = edtStmt.Text;
dataAdapter = new SQLiteDataAdapter(sqLiteCommand1);
cmdBuilder = new SQLiteCommandBuilder(dataAdapter);
table = new DataTable(tblName);
dataAdapter.Fill(table);
dataGridView1.DataSource = table;
}
}
}
标签:datagridview style blog class code tar
原文地址:http://blog.csdn.net/xiaobin_hlj80/article/details/25499699