WinCE下对数据库的操作

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

using System.Data.SqlServerCe;

using System.IO;



namespace ReadSDFFileOnDesktop

{

	public partial class MainForm : Form

	{

		public static string strSQLPath = "DB.sdf";

		public static string strConString = "Data Source = " + strSQLPath + "; Password = ";

		public static string strAccessString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Pub.mdb;";



		public MainForm()

		{

			InitializeComponent();

		}



		private void buttonCreateDB_Click(object sender, EventArgs e)

		{

			// 创建数据库

			if (File.Exists(strSQLPath))

			{

				// 删除数据库

				File.Delete(strSQLPath);

				CreateDataBase();

			}

			else

			{

				// 创建数据库

				CreateDataBase();

			}

		}



		private void CreateDataBase()

		{

			// 创建数据库文件

			SqlCeEngine engine = new SqlCeEngine(strConString);

			engine.CreateDatabase();

			engine.Dispose();

			MessageBox.Show("数据库创建成功!");

		}



		private void buttonCreateTable_Click(object sender, EventArgs e)

		{

			if (File.Exists(strSQLPath))

			{

				// 创建表

				SqlCeConnection cn = new SqlCeConnection(strConString);

				cn.Open();

				try

				{

					string strSQL = @"CREATE TABLE employee(emp_id nvarchar(9), 

                                    fname nvarchar(20),minit nvarchar(1), lname nvarchar(30),

                                    job_id nvarchar(8),job_lvl nvarchar(8), pub_id nvarchar(4),

                                    hire_date datetime)";



					SqlCeCommand SqlCeCmd = new SqlCeCommand(strSQL, cn);

					SqlCeCmd.ExecuteNonQuery();



					MessageBox.Show("数据库中的表创建成功", "提示信息");

				}

				catch (SqlCeException ex)

				{

					MessageBox.Show(ex.Message);

				}

				finally

				{

					cn.Close();

				}

			}

			else

			{

				MessageBox.Show("请先创建数据库!");

			}

		}



		private void buttonImportData_Click(object sender, EventArgs e)

		{

			// 导入数据

			OleDbConnection OleDbCn = new OleDbConnection(strAccessString);

			try

			{

				OleDbCn.Open();

				OleDbCommand OleDbCmd = new OleDbCommand("SELECT * FROM employee", OleDbCn);

				OleDbDataReader OleDbDr = OleDbCmd.ExecuteReader();



				SqlCeConnection SqlCeCn = new SqlCeConnection(strConString);

				try

				{

					SqlCeCn.Open();

					SqlCeCommand SqlCeCmd = new SqlCeCommand();

					SqlCeCmd.Connection = SqlCeCn;



					while (OleDbDr.Read())

					{

						string strSQL = "";

						strSQL = String.Format("INSERT INTO employee " +

							"(emp_id, fname, minit, lname, job_id, job_lvl, pub_id, hire_date) 

                                VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}')",

							OleDbDr.GetValue(OleDbDr.GetOrdinal("emp_id")), 

                            OleDbDr.GetValue(OleDbDr.GetOrdinal("fname")),

							OleDbDr.GetValue(OleDbDr.GetOrdinal("minit")), 

                            OleDbDr.GetValue(OleDbDr.GetOrdinal("lname")),

							OleDbDr.GetValue(OleDbDr.GetOrdinal("job_id")), 

                            OleDbDr.GetValue(OleDbDr.GetOrdinal("job_lvl")),

							OleDbDr.GetValue(OleDbDr.GetOrdinal("pub_id")),

                            OleDbDr.GetValue(OleDbDr.GetOrdinal("hire_date")));

						SqlCeCmd.CommandText = strSQL;

						SqlCeCmd.ExecuteNonQuery();

					}

					MessageBox.Show("数据导入成功!");

				}

				catch (SqlCeException ex)

				{

					MessageBox.Show(ex.Message);

				}

				finally

				{

					SqlCeCn.Close();

				}

			}

			catch (OleDbException ex)

			{

				MessageBox.Show(ex.Message);

			}

			finally

			{

				OleDbCn.Close();

			}

		}



		private void buttonShowData_Click(object sender, EventArgs e)

		{

			// 显示数据

			SqlCeConnection SqlCeCn = new SqlCeConnection(strConString);

			try

			{

				SqlCeCn.Open();

				string strSQL = "";

				strSQL = String.Format("SELECT * FROM employee ");

				SqlCeCommand SqlCeCmd = new SqlCeCommand(strSQL, SqlCeCn);

				SqlCeDataReader SqlCeDr = SqlCeCmd.ExecuteReader();



				listView1.Items.Clear();

				while (SqlCeDr.Read())

				{

					ListViewItem item;

					item = new ListViewItem(SqlCeDr.GetValue

                        (SqlCeDr.GetOrdinal("emp_id")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr.

                        GetOrdinal("fname")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr.

                        GetOrdinal("minit")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr.

                        GetOrdinal("lname")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr

                        .GetOrdinal("job_id")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr.

                        GetOrdinal("job_lvl")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr.

                        GetOrdinal("pub_id")).ToString());

					item.SubItems.Add(SqlCeDr.GetValue(SqlCeDr.

                        GetOrdinal("hire_date")).ToString());

					

					listView1.Items.Add(item);

				}

			}

			catch (SqlCeException ex)

			{

				MessageBox.Show(ex.Message);

			}

			finally

			{

				SqlCeCn.Close();

			}

		}

	}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值