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
    评论
WinCE 6.0 上连接 MySQL 数据库,可以使用 MySQL Connector/NET 数据库驱动程序和 ADO.NET 技术。 以下是连接 MySQL 数据库的基本步骤: 1. 下载并安装 MySQL Connector/NET 驱动程序 您可以从 MySQL 官方网站下载 MySQL Connector/NET 驱动程序,然后在 WinCE 设备上安装。 2. 在 WinCE 设备上开发应用程序 您可以使用 Visual Studio 或其他 .NET 开发工具,在 WinCE 设备上开发连接 MySQL 数据库的应用程序。 3. 在应用程序中添加 MySQL Connector/NET 引用 在应用程序中添加 MySQL Connector/NET 引用,并在代码中使用 `using MySql.Data.MySqlClient;` 命名空间。 4. 创建 MySQL 数据库连接对象 在代码中创建 MySQL 数据库连接对象,并使用连接字符串指定连接属性。例如: ``` string connectionString = "Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;"; MySqlConnection connection = new MySqlConnection(connectionString); ``` 5. 打开数据库连接 在代码中打开 MySQL 数据库连接对象。例如: ``` connection.Open(); ``` 6. 执行 SQL 查询 在代码中执行 SQL 查询,并使用 `MySqlCommand` 对象和 `ExecuteReader()` 方法获取查询结果。例如: ``` string sql = "SELECT * FROM myTable"; MySqlCommand command = new MySqlCommand(sql, connection); MySqlDataReader reader = command.ExecuteReader(); ``` 7. 处理查询结果 在代码中处理查询结果并关闭数据库连接。例如: ``` while (reader.Read()) { // 处理查询结果 } reader.Close(); connection.Close(); ``` 以上是连接 MySQL 数据库的基本步骤,您可以根据需要进行修改和扩展。请注意,在实际开发中,需要考虑到数据安全和性能等方面的问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值