最近在做Pocket PC的程序,用到了Sql CE數據庫,下面我把我的代碼貼下來,供初學者使用:
界面如下:

代碼如下:
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;
//操作SqlCE數據庫
using System.Data.SqlServerCe;
namespace testSqlCE
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
///
/// 創建數據庫
///
///
///
private void btnCreateDB_Click(object sender, EventArgs e)
{
if (File.Exists("Program Files//testSqlCE.sdf"))
{
lblMsg.Text = "已經存在此數據庫";
}
else
{
lblMsg.Text = "正在創建數據庫";
SqlCeEngine Engine = new SqlCeEngine("Data Source = Program Files//testSqlCE.sdf");
Engine.CreateDatabase();
Engine.Dispose();
lblMsg.Text = "數據庫創建成功";
}
}
///
/// 創建數據表
///
///
///
private void btnCreateTab_Click(object sender, EventArgs e)
{
try
{
SqlCeConnection myConn = new SqlCeConnection("Data Source = Program Files//testSqlCE.sdf");
myConn.Open();
SqlCeCommand myComm = new SqlCeCommand();
myComm.Connection = myConn;
myComm.CommandText = "create table admin (id int identity(1,1),name nvarchar(20),password nvarchar(20))";//注意SqlCE不支持varchar,要用nvarchar
myComm.ExecuteNonQuery();
myConn.Close();
lblMsg.Text = "數據表創建成功";
}
catch
{
lblMsg.Text = "創建表出錯或者表已存在";
}
}
///
/// 執行SQL語句
///
///
///
private void btnInsertSql_Click(object sender, EventArgs e)
{
string strSQL = txtSql.Text;
if (strSQL == string.Empty)
{
lblMsg.Text = "請輸入SQL語句";
return;
}
else
{
SqlCeConnection myConn = new SqlCeConnection("Data Source = Program Files//testSqlCE.sdf");
myConn.Open();
SqlCeCommand myComm = new SqlCeCommand();
myComm.Connection = myConn;
myComm.CommandText = strSQL;
myComm.ExecuteNonQuery();
myConn.Close();
lblMsg.Text = "SQL語句執行成功";
}
}
///
/// 修復數據庫
///
///
///
private void btnRepairDB_Click(object sender, EventArgs e)
{
SqlCeEngine Engine = new SqlCeEngine("Data Source = Program Files//testSqlCE.sdf");
if (false == Engine.Verify())
{
lblMsg.Text = "數據庫文件已被破壞";
Engine.Repair(null, RepairOption.RecoverCorruptedRows);
lblMsg.Text = "數據庫文件修復完畢";
}
else
{
lblMsg.Text = "數據庫文件正常";
}
}
}
}
注:轉載本文請注明來源于西部e網(www.wsalc.com)。
