最近在做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 = "数据库文件正常";
}
}
}
}