C#菜鸟版SQL Server 类封装(C#数据库增删改查)

    /// <summary>
    /// 操作数据库前的先连接数据库connectToSQL()
    /// </summary>
    class htx_MSSQL
    {
        //引用
        /*
         * -------引用----------
         * using System.Data;
         * using System.Data.SqlClient;
         * ---------------------
         */
        //例子:
        /*
         * 增:
         * insert [into] <表名> (列名) values (列值)
         * 例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15')
         * 
         * 删:
         * 删除行:
         * delete from <表名> [where <删除条件>]
         * 例:delete from TableName where KeyID = 1
         * 删除表:
         * truncate table <表名>
         * 例:truncate table tongxunlu
         * 
         * 改:
         * update <表名> set <列名=更新值> [where <更新条件>]
         * 例:update tongxunlu set 年龄=18 where 姓名='蓝色小名'
         * 
         * 查:
         * select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列名>[asc或desc]]
         * 例:select * from TableName where AID='f7326912-2a54-47ec-b1a2-06c561473aa9' order by SortiD asc
         */

        //成员/
        //数据库连接对象
        #region SqlConnection con;
        private SqlConnection Con = null;
        /// <summary>
        /// 连接对象
        /// </summary>
        public SqlConnection con
        {
            get;
            private set;
        }
        #endregion

        //DataSet和 SQL Server之间的桥接器----数据适配器
        #region SqlDataAdapter sda;
        /// <summary>
        /// 名称:SqlDataAdapter是 DataSet和 SQL Server之间的桥接器。
        /// 作用:填充成员ds(DataSet)或dt(DataTable)
        /// 步骤:(查数据->)
        /// 1.1.填充数据:checkToDataSet();//填充数据到dataSet中  (1.1和1.2选其一)
        /// 1.2.填充数据:checkToDataTable();//填充数据到DataTable中
        /// </summary>
        public readonly SqlDataAdapter sda = new SqlDataAdapter();

        #endregion

        //本地数据集合
        #region DataSet ds = new DataSet();
        private DataSet Ds = new DataSet();
        /// <summary>
        /// 功能:DataSet是不依赖于数据库的独立数据集合
        /// 步骤:1.填充数据:checkToDataSet();//填充数据到DataSet中
        /// </summary>
        public DataSet ds
        {
            get { return Ds; }
        }
        #endregion
        #region DataTable dt = new DataTable();
        private DataTable Dt = new DataTable();
        /// <summary>
        /// 功能:将查询到的数据保存到dt表格中
        /// 步骤:1.填充数据:checkToDataTable();//填充数据到DataTable中
        /// </summary>
        public DataTable dt
        {
            get { return Dt; }
        }
        #endregion


        //方法/
        //连接 - public int connectToSQL(string connStr)
        #region
        /// <summary>
        /// 连接数据库
        /// </summary>
        /// <param name="connStr">例子:"server=ip地址;database= ;user=ICMS;pwd=abc123*"</param>
        /// <returns>成功:0  失败:-1</returns>
        public int connectToSQL(string connStr)
        {
            try
            {
                con = new SqlConnection(connStr);
            }
            catch (Exception e)
            {
                ShowError(e.Message);
                return -1;
            }
            return 0;
        }
        #endregion

        //报错 - void ShowError(string message)
        #region
        void ShowError(string message)
        {
            Console.WriteLine(message);//控制台
            //MessageBox.Show(message);//窗口
        }
        #endregion

        //增删改 - int handleSql(string com)
        #region
        /// <summary>
        /// 增删改
        /// </summary>
        /// <param name="com">数据库操作语句</param>
        /// <returns>0:正常  -1:抛出异常   -2:未连接数据库</returns>
        public int handleSql(string com)
        {
            if (null == con)
            {
                ShowError("未初始化数据库连接");
                return -2;
            }

            try
            {
                SqlCommand commad = new SqlCommand(com,con);
                con.Open();
                commad.ExecuteNonQuery();
                con.Close();
            }
            catch (Exception e)
            {
                ShowError(e.Message);
                return -1; 
            }
            return 0;
        }
        #endregion

        //查询1 - public int checkToDataSet(string sql)
        #region
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <returns>0:正常  -1:抛出异常   -2:未连接数据库</returns>
        public int checkToDataSet(string sql)
        {
            if (null == con)
            {
                ShowError("未初始化数据库连接");
                return -2;
            }
            try
            {
                SqlCommand MyCommand = new SqlCommand(sql, con); //定义一个数据库操作指令
                sda.SelectCommand = MyCommand;//设置操作指令
                con.Open();//打开数据库连接
                sda.SelectCommand.ExecuteNonQuery();//执行数据库查询指令
                sda.Fill(Ds);
                con.Close();//关闭数据库连接
            }
            catch (Exception e)
            {
                 ShowError(e.Message);
                return -1;
            }
            return 0;
        }
        #endregion

        //查询2 - public int checkToDataTable(string sql)
        #region
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="sql">查询语句</param>
        /// <returns>0:正常  -1:抛出异常   -2:未连接数据库</returns>
        public int checkToDataTable(string sql)
        {
            int re = checkToDataSet(sql);
            if (0 == re)
                Dt =Ds.Tables[0];
            return re;
        }
        #endregion
    }
//---------------------------------------------------------------------------------------------------------------
            //简单的例子:
            htx_MSSQL sql = new htx_MSSQL();
            if(0 == sql.connectToSQL("server=ip;database=数据库名;user=用户名;pwd=密码"))
            {
                //查询
                //int re1 = sql.checkToDataTable("select * from ???? order by SortiD asc");
                //byte[] bs = (byte[])sql.dt.Rows[0][1];//读取二进制数值
                //string re = sql.dt.Rows[0][0].ToString();//读取二进制其他值


                //添加
                //string com2 = "insert into ???? (KeyID,PictureData) values (1,0x530079007300740065006D002E0042007900740065005B005D00)";
                //int re2 = sql.handleSql(com2);


                //删除
                string com3 = "delete from ???? where KeyID = 1";
                int re3 = sql.handleSql(com3);
            }

  • 7
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,你需要安装 MySQL Connector/NET,这是一个官方提供的 MySQL 数据库连接器,可以让你使用 C# 与 MySQL 进行交互。 在 Visual Studio 中,你需要引用以下命名空间: ```csharp using MySql.Data.MySqlClient; ``` 接下来,我们可以创建一个用于连接到数据库的 MySqlConnection 对象。在构造函数中,我们需要传入 MySQL 数据库的连接字符串。 ```csharp MySqlConnection connection = new MySqlConnection("server=localhost;database=mydatabase;uid=myusername;password=mypassword;"); ``` 其中,server 表示 MySQL 服务器的地址,database 表示要连接的数据库名称,uid 和 password 则是登录 MySQL 服务器的用户名和密码。 接下来,我们可以使用 MySqlCommand 对象来执行 SQL 命令。例如,以下代码会创建一个名为 `users` 的表。 ```csharp MySqlCommand command = new MySqlCommand("CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), email VARCHAR(50), PRIMARY KEY(id))", connection); connection.Open(); command.ExecuteNonQuery(); connection.Close(); ``` 下面是一个实现增删的示例: ```csharp using System; using MySql.Data.MySqlClient; namespace MySqlTest { class Program { static void Main(string[] args) { string connectionString = "server=localhost;database=mydatabase;uid=myusername;password=mypassword;"; MySqlConnection connection = new MySqlConnection(connectionString); try { connection.Open(); // 添加一条记录 MySqlCommand insertCommand = new MySqlCommand("INSERT INTO users (name, email) VALUES ('张三', 'zhangsan@example.com')", connection); insertCommand.ExecuteNonQuery(); // 询记录 MySqlCommand selectCommand = new MySqlCommand("SELECT * FROM users", connection); MySqlDataReader reader = selectCommand.ExecuteReader(); while (reader.Read()) { Console.WriteLine("id: {0}, name: {1}, email: {2}", reader["id"], reader["name"], reader["email"]); } reader.Close(); // 修记录 MySqlCommand updateCommand = new MySqlCommand("UPDATE users SET name='李四' WHERE email='zhangsan@example.com'", connection); updateCommand.ExecuteNonQuery(); // 删除记录 MySqlCommand deleteCommand = new MySqlCommand("DELETE FROM users WHERE email='zhangsan@example.com'", connection); deleteCommand.ExecuteNonQuery(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { connection.Close(); } Console.ReadLine(); } } } ``` 在上面的示例中,我们先连接到 MySQL 数据库,然后执行了增、删、的操作,并输出相应的结果。 注意,这只是一个简单的示例,实际情况下你需要根据自己的需求进行修和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值