c#:连接数据库,并向数据库MySQL中导入数据信息

c#:向数据库MySQL中导入数据信息

1.在MySQL中创建对应的表空间,table

(1)创建表空间为cabledb
(2)在表空间下创建对应的table,例如cablebox 在表中编写对应的列 键值等等
在这里插入图片描述

2.连接数据库

(1)传入对应的表信息

 CableInfoFile.ImportCableItemInfo(表中列信息, 表空间, 对应表名称);

(2)与MySQL创建连接

  public static bool ImportCableItemInfo(表中列信息, string 表空间名称, string 表名)
        {
            using (MySqlConnection conn = new MySqlConnection(CableInfoFile.GetConnStr(StationName)))//创建连接
            {
                try
                {
                    conn.Open();

                    ImportItemInfo(conn, 传入信息集合, 表空间, 表名);
                }
                finally
                {
                    conn.Close();
                }
            }

            return true;
        }

(3)ImportItemInfo函数 执行连接mysql

   public static bool ImportItemInfo(MySqlConnection conn, List<CableInfo> InfoList, string StationName, string TableName)
    {
        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = conn;
        MySqlTransaction tx = conn.BeginTransaction();
        cmd.Transaction = tx;

        cmd.CommandText = string.Format("truncate table {0}.{1}", StationName, TableName);
        cmd.ExecuteNonQuery();

        try
        {
            foreach (CableInfo Info in InfoList)
            {
                for (int i = 0; i < Info.CableLineNames.Count; i++)
                {
                    string strsql = GetCableLineInfoSqlString(Info, StationName, TableName, i);//sql语句 传入对应的信息 表空间,表名,
                    if (strsql.Trim().Length > 1)
                    {
                        cmd.CommandText = strsql;
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            tx.Commit();
        }
        catch (System.Data.SqlClient.SqlException E)
        {
            tx.Rollback();
            throw new Exception(E.Message);
        }

        return true;
    }

(4)GetCableLineInfoSqlString函数

  private static string GetCableLineInfoSqlString(CableInfo info, string StationName, string TableName, int Index)
    {
        string sqlStr;

        sqlStr = string.Format("INSERT INTO {0}.{1} (d1, d2, d3)" +
            "VALUES('{2}','{3}',{4})",
            StationName, TableName, info.Name, info.CableLineNames[Index], Index + 1);
//向表中添加对应的数据信息 每行每列
        return sqlStr;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值