C# 连接操作MYSQL 数据库_02
using MySql.Data.MySqlclient; // 引进MYSQL 库 // C# 连接 MYSQL 数据库更好的方法 void func_02()
{
string str_conn_info = "";
str_conn_info += " Host = " + db_ip + ";";
str_conn_info += " Database = " + db_ip + ";";
str_conn_info += " User = " + db_ip + ";";
str_conn_info += " password = " + db_ip + ";";
str_conn_info += " port = " + db_ip + ";";
str_conn_info += " Charset = utf8"; MySqlCommand sql_cmd = new MySqlCommand();
sql_cmd.Connection = new MySqlConnection(); sql_cmd.Connection.ConnectionString = str_conn_info; if (!connect_to_mysql(sql_cmd.Connection))
{
// 连接失败
return;
} try
{
// 添加SQL 语句,并运行
sql_cmd.CommandText = "SELECT mail_id, mail_src_id, first_read_time, get_items_time, del_mail_time"
+ " FROM log_mail WHERE player_id = 1"; // 运行的结果集放到MySqlDataReader 中
MySqlDataReader data_reader = sql_cmd.ExecuteReader(); // 从结果集中取数据
try
{
while (data_reader.Read())
{
PlayerMailRecordForm.struMailRecord mail_record = new PlayerMailRecordForm.struMailRecord();
mail_record.mail_id = data_reader.GetUInt32("mail_id");
mail_record.mail_src_id = data_reader.GetUInt32("mail_src_id");
mail_record.str_first_read = data_reader.GetString("first_read_time");
if (data_reader["get_items_time"] != DBNull.Value) // 如果该字段 IS NOT NULL
mail_record.str_get_items = data_reader.GetString("get_items_time");
if (data_reader["del_mail_time"] != DBNull.Value)
mail_record.str_del_mail = data_reader.GetString("del_mail_time");
} // 关闭结果集,如果不关闭,下次运行SQL 语句时会出问题。
data_reader.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); // 关闭结果集,如果不关闭,下次运行SQL 语句时会出问题。
data_reader.Close();
return;
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
disconnect_from_mysql(sql_cmd.Connection);
return;
} // 关闭连接
disconnect_from_mysql(sql_cmd.Connection); // 这里没有找到对于MySqlCommand 释放的方法,感觉应该是没有,不过也没关系了,这里整个对象都回收了,应该是OK的。
} public bool connect_to_mysql(MySqlConnection conn_clt)
{
switch (conn_clt.State)
{
case ConnectionState.Open:
case ConnectionState.Connecting:
case ConnectionState.Executing:
case ConnectionState.Fetching:
case ConnectionState.Broken:
break;
case ConnectionState.Closed:
default:
try
{
conn_clt.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
break;
} return true;
} public void disconnect_from_mysql(MySqlConnection conn_clt)
{
switch (conn_clt.State)
{
case ConnectionState.Open:
case ConnectionState.Connecting:
case ConnectionState.Executing:
case ConnectionState.Fetching:
case ConnectionState.Broken:
conn_clt.Close();
break;
case ConnectionState.Closed:
default:
break;
}
}
C# 连接操作MYSQL 数据库_02的更多相关文章
- Python MySQLdb模块连接操作mysql数据库实例_python
mysql是一个优秀的开源数据库,它现在的应用非常的广泛,因此很有必要简单的介绍一下用python操作mysql数据库的方法.python操作数据库需要安装一个第三方的模块,在http://mysql ...
- 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)
前言 安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行 ...
- C#连接操作MySQL数据库详细步骤 帮助类等(二次改进版)
最近准备写一个仓库管理的项目 客户要求使用C#编写MySQL存储数据 为了方便,整理了数据库操作的工具类 首先在项目App.config 文件下添加节点 <connectionStrings&g ...
- python 连接操作mysql数据库
开发数据库程序流程: 1.创建connection对象,获取cursor 2.使用cursor执行SQL 3.使用cursor获取数据.判断执行状态 4.提交事务 或者 回滚事务 import: 数据 ...
- ASP.NET Core使用EF Core操作MySql数据库
ASP.NET Core操作MySql数据库, 这样整套环境都可以布署在Linux上 使用微软的 Microsoft.EntityFrameworkCore(2.1.4) 和MySql出的 MySql ...
- robot_framewok自动化测试--(9)连接并操作 MySql 数据库
连接并操作 MySql 数据库 1.mysql数据库 1.1安装mysql数据库 请参考我的另一篇文章:MYSQL5.7下载安装图文教程 1.2.准备测试数据 请参考我的另一篇文章:Mysql基础教程 ...
- PHP操作MySQL数据库5个步骤
PHP操作MySQL数据库一般可分为5个步骤:1.连接MySQL数据库服务器:2.选择数据库:3.执行SQL语句:4.关闭结果集:5断开与MySQL数据库服务器连接. 1.用mysql_connect ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- 转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...
随机推荐
- SVG添加链接(转载)
转载地址:http://tech.techweb.com.cn/thread-258715-1-1.html 最基本的交互形式是链接.在 SVG 中,通过一个 <a> 标签提供链接,这与 ...
- unity中的欧拉角
unity中欧拉角用的是heading - pitch -bank系统(zxy惯性空间旋转系统):当认为旋转顺序是zxy时,是相对于惯性坐标系旋转.当认为旋转顺序是yxz时,是相对于物体坐标系旋转. ...
- 必须Mark!43个优秀的Swift开源项目推荐
摘要:拥有着苹果先天生态优势的Swift自发布以来,各种优秀的开源项目便层出不穷.本文作者站在个人的角度,将2014年Swift开源项目做了一个甄别.筛选,从工具.存储.网络.界面.框架到Demo以及 ...
- 【Reporting Services 报表开发】— 数据表的使用
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH3 二.在报表文件 ...
- C#遍历hashtable
foreach (DictionaryEntry de in hashTable) { System.Windows.Forms.MessageBox.Show(de.Key.ToString()); ...
- 面向对象设计模式--观察者模式(Observer)
要点: 1.如何使用观察者模式: 对应使用这个模式的用户(main)来说,subject和observer这两个基类是不被关系的,在调用者(main)中只是有concreteSubject和concr ...
- CentOS7安装Oracle 11g R2 详细过程——零基础
本人linux小白,因项目原因必须要在linux下使用oracle便开始了探索.安装过程中遇到了种种问题与原因,今天整理一下方便后面的可以少走弯路. *注明: 安装过程注意当前错作的用户,执行./ru ...
- 【转】SVN服务器客户端以及环境的搭建和使用
vss,cvs,svn三者都是版本控制工具 vss是锁定-编辑-解锁模式,svn虽然也支持锁定,但默认是修改-冲突-合并模式 vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库 vss是 ...
- 黄聪:wordpress后台加载ajax.googleapis.com导致打开速度很慢的解决方案
打开wordpress后台,发现很卡,通过开发者工具看到是因为加载http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothn ...
- API爬虫--Twitter实战
本篇将从实际例子出发,展示如何使用api爬取twitter的数据. 1. 创建APP 进入https://apps.twitter.com/,创建自己的app.只有有了app才可以访问twitter的 ...