⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 SQL 2005 移动设备RDA功能,要下载就下载
💻 CS
字号:
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.SqlServerCe;
using System.IO;
using System.Reflection;

namespace Repl_demo
{
    public partial class Form1 : Form
    {
        private string sqlAgent = "http://192.168.1.20/sqlmobile/sqlcesa30.dll";
        private string dbfile = null;
        private string connStr = null;

        public Form1()
        {
            InitializeComponent();

            dbfile = string.Format(@"{0}\Northwind.sdf",
                Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase));
            connStr = string.Format(@"Data Source = {0}", dbfile);
        }

        private void UpdateData()
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                SqlCeConnection conn = new SqlCeConnection(connStr);
                SqlCeCommand cmd = new SqlCeCommand(
                    "Update Customers Set CompanyName = '黎波' Where CustomerID='LIBO'", conn);

                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();

                MessageBox.Show("数据更新成功!");
            }
            catch (SqlCeException ex)
            {
                ShowErrors(ex);
            }
            Cursor.Current = Cursors.Default;
        }

        private void CreateDatebase()
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                string dbFile = string.Format(@"{0}\Northwind.sdf",
                        Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase));

                if (File.Exists(dbFile))
                {
                    File.Delete(dbFile);
                }

                SqlCeEngine engine = new SqlCeEngine(connStr);
                engine.CreateDatabase();
                engine.Dispose();

                MessageBox.Show("数据库创建成功!");
            }
            catch (SqlCeException ex)
            {
                ShowErrors(ex);
            }
            Cursor.Current = Cursors.Default;
        }

        public static void ShowErrors(SqlCeException e)
        {
            SqlCeErrorCollection errorCollection = e.Errors;

            StringBuilder bld = new StringBuilder();
            Exception inner = e.InnerException;

            foreach (SqlCeError err in errorCollection)
            {
                bld.Append("\n Error Code: " + err.HResult.ToString("X",
                    System.Globalization.CultureInfo.CurrentCulture));
                bld.Append("\n Message   : " + err.Message);
                bld.Append("\n Minor Err.: " + err.NativeError);
                bld.Append("\n Source    : " + err.Source);

                foreach (int numPar in err.NumericErrorParameters)
                {
                    if (0 != numPar) bld.Append("\n Num. Par. : " + numPar);
                }

                foreach (string errPar in err.ErrorParameters)
                {
                    if (String.Empty != errPar) bld.Append("\n Err. Par. : " + errPar);
                }
            }
            MessageBox.Show(bld.ToString());
        }

        private void button1_Click(object sender, EventArgs e)
        {
            CreateDatebase();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                // 实例化并配置 SqlCeReplication 对象
                SqlCeReplication repl = new SqlCeReplication();
                repl.InternetUrl = sqlAgent;
                repl.Publisher = "bjb-libo/SQL2005";
                repl.PublisherDatabase = "Northwind";
                repl.PublisherLogin = "sa";
                repl.PublisherPassword = "1234";
                repl.Publication = "Northwind_Customers";
                repl.Subscriber = "Northwind_Customers_Sub";
                repl.SubscriberConnectionString = connStr;

                // 跟 SQL Server 数据库进行同步
                repl.Synchronize();

                // 清理 repl 对象
                repl.Dispose();
            }
            catch (SqlCeException ex)
            {
                ShowErrors(ex);
            }
            Cursor.Current = Cursors.Default;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            UpdateData();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                // 实例化并配置 SqlCeReplication 对象
                SqlCeReplication repl = new SqlCeReplication();
                repl.InternetUrl = sqlAgent;
                repl.Publisher = "bjb-libo/SQL2005";
                repl.PublisherDatabase = "Northwind";
                repl.PublisherLogin = "sa";
                repl.PublisherPassword = "1234";
                repl.Publication = "Northwind_Customers";
                repl.Subscriber = "Northwind_Customers_Sub";
                repl.SubscriberConnectionString = connStr;

                // 创建一个本地 SQL Server Mobile 数据库的订阅
                repl.AddSubscription(AddOption.ExistingDatabase);

                // 跟 SQL Server 数据库进行同步
                repl.Synchronize();

                // 清理 repl 对象
                repl.Dispose();
            }
            catch (SqlCeException ex)
            {
                ShowErrors(ex);
            }
            Cursor.Current = Cursors.Default;

        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -