前几天在PDA上 用C# 测试了下对移动数据库的操作。关于搭建编程环境就不多说了。
主要是创建数据库,创建表,查询已经其它对数据库的操作,由于之前做过C++下对数据库的ADO访问,所以做起来不难。
SQLCE 数据库是同在移动设备上的数据库引擎。它的每个数据库就是一个sdf文件。
(1)创建了一个static 类 用于存储需要全局使用的变量
namespace SDTest
{
public static class GVariable
{
public static string sPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase.ToString()); ///程序执行的路径
public const string FILENAME = "\\Test.sdf"; /// sdf 文件
public static SqlCeConnection SqlCeCon; //用于数据库连接的全局变量
}
}
(2)生成数据库使用如下语句:
string sCeConStr = GVariable.sPath + GVariable.FILENAME;
SqlCeEngine SQLEngine = default(SqlCeEngine);//??????????????生成SQLCE 数据库
SQLEngine = new SqlCeEngine("Data Source =" + sCeConStr);
SQLEngine.CreateDatabase();
SQLEngine.Dispose();
(3)连接数据库的语句:
GVariable.SqlCeCon = new SqlCeConnection("Data Source =" + sCeConStr);
GVariable.SqlCeCon.Open();
以上语句中 sCeConStr 的值在调试运行时的值为:
/program file/your project name/
你在模拟器或是在真机上调试时 可以看到 一个 sdf 文件在这个文档下生成。
(4) 执行没有返回值的SQL语句
string SQL;
SQL = "create table TestTable(pcode nvarchar(30),pname nvarchar(30),constraint PK_emps primary key (pcode))";
// 执行没有返回值的SQL 语句。
try
{
SqlCeTransaction ceTran = default(SqlCeTransaction);
SqlCeCommand cecmd = default(SqlCeCommand);
ceTran = GVariable.SqlCeCon.BeginTransaction();
cecmd = new SqlCeCommand(SQL, GVariable.SqlCeCon, ceTran);
cecmd.ExecuteNonQuery();
ceTran.Commit(CommitMode.Deferred);
cecmd.Dispose();
)
)
catch (System.Exception ex)
{
MessageBox.Show("执行SQL 语句失败");
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26221264/viewspace-735091/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26221264/viewspace-735091/