标签: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