• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

游戏开发

asp.net使用mysql数据库

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2018/1115/189.html

asp.net使用mysql数据库

Asp.net连接mysql 不推荐使用ODBC,推荐是用mysql官网提供的组件MySQL.Data.Dll,放在bin下面,添加引用即可

 

下面是封装的几个常用操作

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using MySql.Data.MySqlClient;

using System.Data;

using System.Text;

 

namespace WebApplication2

{

    public class DBHelper

    {

        public static string connectionString = "Host=127.0.0.1;UserName=root;Password=root;"

            +"Database=mmloo;Port=3306;CharSet=utf8;Allow Zero Datetime=true";

 

        public DBHelper(){}

 

        public static string DataTableToJson(DataTable dt)

        {

            StringBuilder jsonBuilder = new StringBuilder();

            jsonBuilder.Append("{\"");

            jsonBuilder.Append(dt.TableName);

            jsonBuilder.Append("\":[");

            jsonBuilder.Append("[");

            for (int i = 0; i < dt.Rows.Count; i++)

            {

                jsonBuilder.Append("{");

                for (int j = 0; j < dt.Columns.Count; j++)

                {

                    jsonBuilder.Append("\"");

                    jsonBuilder.Append(dt.Columns[j].ColumnName);

                    jsonBuilder.Append("\":\"");

                    jsonBuilder.Append(dt.Rows[i][j].ToString());

                    jsonBuilder.Append("\",");

                }

                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

                jsonBuilder.Append("},");

            }

            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

            jsonBuilder.Append("]");

            jsonBuilder.Append("}");

            return jsonBuilder.ToString();

        }

        /// <summary>

        /// 执行sql语句,返回影响的记录数

        /// </summary>

        /// <param name="SQLString"></param>

        /// <returns></returns>

        public static int ExecuteNonQuery(string SQLString)

        {

            using (MySqlConnection connection = new MySqlConnection(connectionString))

            {

                using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))

                {

                    try

                    {

                        connection.Open();

                        int rows = cmd.ExecuteNonQuery();

                        return rows;

                    }

                    catch (MySql.Data.MySqlClient.MySqlException e)

                    {

                        connection.Close();

                        throw e;

                    }

                }

            }

        }

 

 

        /// <summary> 

        /// 执行SQL语句,返回影响的记录数 

        /// </summary> 

        /// <param name="SQLString">SQL语句</param> 

        /// <returns>影响的记录数</returns> 

        public static int ExecuteNonQuery(string SQLString, params MySqlParameter[] cmdParms)

        {

            using (MySqlConnection connection = new MySqlConnection(connectionString))

            {

                using (MySqlCommand cmd = new MySqlCommand())

                {

                    try

                    {

                        PrepareCommand(cmd, connection, null, SQLString, cmdParms);

                        int rows = cmd.ExecuteNonQuery();

                        cmd.Parameters.Clear();

                        return rows;

                    }

                    catch (MySql.Data.MySqlClient.MySqlException e)

                    {

                        throw e;

                    }

                }

            }

        }

 

 

        /// <summary> 

        /// 执行查询语句,返回DataTable 

        /// </summary> 

        /// <param name="SQLString">查询语句</param> 

        /// <returns>DataTable</returns> 

        public static DataTable ExecuteDataTable(string SQLString)

        {

            using (MySqlConnection connection = new MySqlConnection(connectionString))

            {

                DataSet ds = new DataSet();

                try

                {

                    connection.Open();

                    MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection);

                    command.Fill(ds, "ds");

                }

                catch (MySql.Data.MySqlClient.MySqlException ex)

                {

                    throw new Exception(ex.Message);

                }

                return ds.Tables[0];

            }

        }

 

 

        /// <summary> 

        /// 执行查询语句,返回DataSet 

        /// </summary> 

        /// <param name="SQLString">查询语句</param> 

        /// <returns>DataTable</returns> 

        public static DataTable ExecuteDataTable(string SQLString, params MySqlParameter[] cmdParms)

        {

            using (MySqlConnection connection = new MySqlConnection(connectionString))

            {

                MySqlCommand cmd = new MySqlCommand();

                PrepareCommand(cmd, connection, null, SQLString, cmdParms);

                using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))

                {

                    DataSet ds = new DataSet();

                    try

                    {

                        da.Fill(ds, "ds");

                        cmd.Parameters.Clear();

                    }

                    catch (MySql.Data.MySqlClient.MySqlException ex)

                    {

                        throw new Exception(ex.Message);

                    }

                    return ds.Tables[0];

                }

            }

        }

 

 

        /// <summary>

        /// 创建cmd

        /// </summary>

        /// <param name="cmd"></param>

        /// <param name="conn"></param>

        /// <param name="trans"></param>

        /// <param name="cmdText"></param>

        /// <param name="cmdParms"></param>

        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;//cmdType; 

            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);

                }

            }

        }

 

    }

}


上篇:上一篇:TRANSFORM_TEX详解
下篇:下一篇:UGUI Text组件实际文本宽高的获取