WEB技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ASP asp.net php
查看: 354|回复: 0
打印 上一主题 下一主题

net C#使用MYSQL操作实例

[复制链接]

534

主题

541

帖子

2044

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2044
跳转到指定楼层
楼主
发表于 2018-1-11 14:42:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
web.config配置数据库连接

  <connectionStrings>
    <remove name="LocalMySqlServer" />
    <add name="LocalMySqlServer" connectionString="User Id=root;host=127.0.0.1;Database=mysql;password=66520;port=3306;persist security info=True;character set=utf8;" providerName="MySql.Data.MySqlClient" />
  </connectionStrings>
操作类

namespace Common
{
    using MySql.Data.MySqlClient;
    using System;
    using System.Configuration;
    using System.Data;
    using System.Runtime.InteropServices;
    using System.Text.RegularExpressions;

    public class MysqlHelper
    {
        public static string connString = ConfigurationManager.ConnectionStrings["LocalMySqlServer"].ConnectionString;

        public static DataTable ExecuteDataTable(string SQLString)
        {
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                DataSet dataSet = new DataSet();
                try
                {
                    connection.Open();
                    new MySqlDataAdapter(SQLString, connection).Fill(dataSet, "ds");
                }
                catch (MySqlException exception)
                {
                    throw new Exception(exception.Message);
                }
                return dataSet.Tables[0];
            }
        }

        public static DataTable ExecuteDataTable(string SQLString, params MySqlParameter[] cmdParms)
        {
            DataTable table;
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                MySqlCommand cmd = new MySqlCommand();
                PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                using (MySqlDataAdapter adapter = new MySqlDataAdapter(cmd))
                {
                    DataSet dataSet = new DataSet();
                    try
                    {
                        adapter.Fill(dataSet, "ds");
                        cmd.Parameters.Clear();
                    }
                    catch (MySqlException exception)
                    {
                        throw new Exception(exception.Message);
                    }
                    table = dataSet.Tables[0];
                }
            }
            return table;
        }

        public static DataTable ExecuteDataTable(string cmdText, int startResord, int maxRecord)
        {
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                DataSet dataSet = new DataSet();
                try
                {
                    connection.Open();
                    new MySqlDataAdapter(cmdText, connection).Fill(dataSet, startResord, maxRecord, "ds");
                }
                catch (MySqlException exception)
                {
                    throw new Exception(exception.Message);
                }
                return dataSet.Tables[0];
            }
        }

        public static int ExecuteNonQuery(string SQLString)
        {
            int num2;
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                MySqlCommand command = new MySqlCommand(SQLString, connection);
                try
                {
                    connection.Open();
                    num2 = command.ExecuteNonQuery();
                }
                catch (MySqlException exception)
                {
                    connection.Close();
                    throw exception;
                }
                finally
                {
                    if (command != null)
                    {
                        command.Dispose();
                    }
                }
            }
            return num2;
        }

        public static int ExecuteNonQuery(string SQLString, params MySqlParameter[] cmdParms)
        {
            int num2;
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                MySqlCommand cmd = new MySqlCommand();
                try
                {
                    PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                    int num = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    num2 = num;
                }
                catch (MySqlException exception)
                {
                    throw exception;
                }
                finally
                {
                    if (cmd != null)
                    {
                        cmd.Dispose();
                    }
                }
            }
            return num2;
        }

        public static MySqlDataReader ExecuteReader(string strSQL)
        {
            MySqlDataReader reader2;
            MySqlConnection connection = new MySqlConnection(connString);
            MySqlCommand command = new MySqlCommand(strSQL, connection);
            MySqlDataReader reader = null;
            try
            {
                connection.Open();
                reader = command.ExecuteReader();
                reader2 = reader;
            }
            catch (MySqlException exception)
            {
                throw exception;
            }
            finally
            {
                reader.Close();
            }
            return reader2;
        }

        public static MySqlDataReader ExecuteReader(string SQLString, params MySqlParameter[] cmdParms)
        {
            MySqlDataReader reader2;
            MySqlConnection conn = new MySqlConnection(connString);
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataReader reader = null;
            try
            {
                PrepareCommand(cmd, conn, null, SQLString, cmdParms);
                reader = cmd.ExecuteReader();
                cmd.Parameters.Clear();
                reader2 = reader;
            }
            catch (MySqlException exception)
            {
                throw exception;
            }
            finally
            {
                reader.Close();
                cmd.Dispose();
                conn.Close();
            }
            return reader2;
        }

        public static object ExecuteScalar(string SQLString)
        {
            object obj3;
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                MySqlCommand command = new MySqlCommand(SQLString, connection);
                try
                {
                    connection.Open();
                    object objA = command.ExecuteScalar();
                    if (object.Equals(objA, null) || object.Equals(objA, DBNull.Value))
                    {
                        return null;
                    }
                    obj3 = objA;
                }
                catch (MySqlException exception)
                {
                    connection.Close();
                    throw exception;
                }
                finally
                {
                    if (command != null)
                    {
                        command.Dispose();
                    }
                }
            }
            return obj3;
        }

        public static object ExecuteScalar(string SQLString, params MySqlParameter[] cmdParms)
        {
            object obj3;
            using (MySqlConnection connection = new MySqlConnection(connString))
            {
                MySqlCommand cmd = new MySqlCommand();
                try
                {
                    PrepareCommand(cmd, connection, null, SQLString, cmdParms);
                    object objA = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    if (object.Equals(objA, null) || object.Equals(objA, DBNull.Value))
                    {
                        return null;
                    }
                    obj3 = objA;
                }
                catch (MySqlException exception)
                {
                    throw exception;
                }
                finally
                {
                    if (cmd != null)
                    {
                        cmd.Dispose();
                    }
                }
            }
            return obj3;
        }

        public static DataTable getPager(out int recordCount, string selectList, string tableName, string whereStr, string orderExpression, int pageIdex, int pageSize)
        {
            string str;
            int count = 0;
            DataTable table = new DataTable();
            MatchCollection matchs = Regex.Matches(selectList, @"top\s+\d{1,}", RegexOptions.IgnoreCase);
            str = str = string.Format("select {0} from {1} where 1=1 {2}", selectList, tableName, whereStr);
            if (!string.IsNullOrEmpty(orderExpression))
            {
                str = str + string.Format(" Order by {0}", orderExpression);
            }
            if (matchs.Count > 0)
            {
                count = ExecuteDataTable(str).Rows.Count;
            }
            else
            {
                object obj2 = ExecuteScalar(string.Format("select count(*) from {0} where 1=1 {1} ", tableName, whereStr));
                if (obj2 != null)
                {
                    count = Convert.ToInt32(obj2);
                }
            }
            table = ExecuteDataTable(str, (pageIdex - 1) * pageSize, pageSize);
            recordCount = count;
            return table;
        }

        private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, string cmdText, MySqlParameter[] cmdParms)
        {
            if (conn.State != ConnectionState.Open)
            {
                conn.Open();
            }
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            if (trans != null)
            {
                cmd.Transaction = trans;
            }
            cmd.CommandType = CommandType.Text;
            if (cmdParms != null)
            {
                foreach (MySqlParameter parameter in cmdParms)
                {
                    if (((parameter.Direction == ParameterDirection.InputOutput) || (parameter.Direction == ParameterDirection.Input)) && (parameter.Value == null))
                    {
                        parameter.Value = DBNull.Value;
                    }
                    cmd.Parameters.Add(parameter);
                }
            }
        }
    }
}


DataTable使用方法

   DataTable table2 = MysqlHelper.ExecuteDataTable(string.Format("select * from memberaccount where userID={0}", account.userID));
            if (table2.Rows.Count > 0)
            {
                account.userName = table2.Rows[0]["userName"].ToString();
                account.idCard = table2.Rows[0]["idCard"].ToString();
                account.bankCode = table2.Rows[0]["bankCode"].ToString();
                account.bankCard = table2.Rows[0]["bankCard"].ToString();
                account.phoneNumber = table2.Rows[0]["phoneNumber"].ToString();
            }
            HttpContext.Current.Session["LoginSession"] = account.ToJson();
            model.Data = 0;
            model.Desc = "登录成功";

          return model.ToJson();  //返回JSON格式

附加上

        public static string ToJson(this object obj)
        {
            if (obj == null)
            {
                return "{}";
            }
            return JsonConvert.SerializeObject(obj, Formatting.None, new JsonConverter[] { iso }).Replace("\r\n", "");
        }


直接SQL查询更新

MysqlHelper.ExecuteNonQuery(string.Concat(new object[] { "UPDATE `banktranferjournal` SET `Description`='处理成功', `StateID`=", (short) 1, ", `LoadNo`='", loanNo, "', `ResultCode`='", resultCode, "', `ResultMessage`='", resultMsg, "' WHERE `SerialNumber`=", num, ";" }));


查询实例二

string sQLString = "select * from banktranferjournal where SerialNumber= ?SerialNumber   ";
                MySqlParameter[] cmdParms = new MySqlParameter[1];
                MySqlParameter parameter = new MySqlParameter("?SerialNumber", MySqlDbType.Int32) {
                    Value = serialNumber
                };
                cmdParms[0] = parameter;
                DataTable table = MysqlHelper.ExecuteDataTable(sQLString, cmdParms);
                if (table.Rows.Count > 0)
                {
         
                  if (table.Rows[0]["StateID"].ToString() == "1")
                    {
                        LogHelper.Instance.Write("【成功通知】该订单已经处理:" + serialNumber);
                    }
            }
爱仿站的中年人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|手机版|码农集营 ( ) 深圳龙岗交友群

GMT+8, 2018-11-7 19:13 , Processed in 0.087893 second(s), 22 queries .

Powered by 码农集营 X3.4

快速回复 返回顶部 返回列表