vs2010连接mysql数据库方法

合集下载

c++连接MySQL数据库详解(vs2010)

c++连接MySQL数据库详解(vs2010)

c++连接MySQL数据库详解(vs2010)利用MySQL自带的库函数连接步骤:1.添加头文件和库文件头文件添加方法 : 项目——配置属性——C/C++——常规”,在“附加包含目录中加入头文件所在的文件夹(我的添加路径是:C:\Program Files\MySQL\MySQL Server 5.6\include)库文件添加方式: “项目——配置属性——链接器——常规”,在“附加库目录”中加入LIB所在目录(我的添加路径是:C:\Program Files\MySQL\MySQL Server 5.6\lib)2.添加库文件的附加依赖项依次点击“项目——配置属性——链接器——输入”,在“附加依赖项”中加入libmysql.lib3.把libmysql.dll和libmysql.lib文件拷贝到所建的工程目录下我的路径是:C:\Users\Administrator\Desktop\行情\dfapi\bin\windows\x64如果上面的过程都实现了但是报诸如下面的错误:1>link.obj : error LNK2019: 无法解析的外部符号_mysql_server_end@0解决方法是:项目->属性->配置管理器->活动解决方案平台,下拉选新建,出现一个新的对号框,在键入选择新平台中选择X64,重新编译成功然后在头文件里包含以下内容:#include "winsock.h"#include "mysql.h"#pragma comment(lib,"libmysql.lib")具体实现代码:#include#include"winsock.h"#include"mysql.h"#pragma comment(lib,"libmysql.lib")using namespace std;int main(void){//必备数据结构MYSQL mydata;//初始化数据库if(0 == mysql_library_init(0,NULL,NULL)){cout <<"数据库初始化成功......"<< endl;}else{cout <<"数据库初始化失败......"<< endl;return-1;}//初始化数据结构if(NULL!=mysql_init(&mydata)){cout <<"数据结构初始化成功....."<< endl;}else{cout <<"数据结构初始化失败......."<< endl;return-1;}//在连接数据库之前设置必要的连接属性,在这里设置字符集为GBK,否者不能识别中文?if(0 ==mysql_options(&mydata,MYSQL_SET_CHARSET_NAME,"gbk ")){cout <<"字符集设置成功......."<< endl;}else{cout <<"字符集设置失败........"<< endl;return-1;}//连??接??数?y据Y库aif(NULL != mysql_real_connect(&mydata,"localhost","root", "root","hibernate",3306,NULL,0)){cout <<"数?y据Y库a连??接??成??功|......"<< endl;}else{cout <<"数据库连接失败......"<< endl;return-1;}//创建??数?y据Y表string sqlstr;sqlstr ="CREATE TABLE IF NOT EXISTS user_student";sqlstr +="(";sqlstr +="user_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Unique User ID',";sqlstr +="user_name VARCHAR(100) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL COMMENT 'Name Of User',";sqlstr +="user_second_sum INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'The Summation Of Using Time'";sqlstr +=")";if(0 == mysql_query(&mydata,sqlstr.c_str())){cout <<"创建数据表成功......."<< endl;}else{cout <<"创建数据表失败......."<< endl;mysql_close(&mydata);return-1;}//向??表中D插?入??数?y据Ysqlstr ="INSERT INTO user_student(user_name) VALUES('公司名称'),(‘一级部门’),(‘二级部门'),('开发小组'),('姓名');";if(0 == mysql_query(&mydata,sqlstr.c_str())){cout <<"插入数据成功......."<< endl;}else{cout <<"插入数据失败......."<< endl;mysql_close(&mydata);return-1;}//显示刚刚插入的数据sqlstr ="SELECT user_id,user_name,user_second_sum FROM user_student";MYSQL_RES *result = NULL;if(0 == mysql_query(&mydata,sqlstr.c_str())){cout <<"获取数据成功......."<< endl;//一次性取得数据集result = mysql_store_result(&mydata);//取得并打印行数int rowcount = mysql_num_rows(result);cout <<"行数: "<< rowcount << endl;//取得并打印各字段的名称unsigned int fieldcount = mysql_num_fields(result); MYSQL_FIELD *field = NULL;for(unsigned int i = 0;i < fieldcount;i++){field = mysql_fetch_field_direct(result,i);cout << field->name <<"\t\t";}cout << endl;//打印各行MYSQL_ROW row= NULL;row = mysql_fetch_row(result);while(NULL !=row){for(int i = 0;i < fieldcount;i++){cout << row[i] <<"\t\t";}cout << endl;row = mysql_fetch_row(result);}}else{cout <<"获取数据失败........"<< endl; mysql_close(&mydata); return-1;}//删除刚刚建立的表sqlstr ="DROP TABLE user_student";if(0 == mysql_query(&mydata,sqlstr.c_str())) {cout <<"删除数据表成功........"<< endl; }else{cout <<"删除数据表失败........"<< endl; mysql_close(&mydata); return-1;}mysql_free_result(result);mysql_close(&mydata);mysql_server_end();return0;}。

数据库学习任务一:使用vs2010建立数据库

数据库学习任务一:使用vs2010建立数据库

数据库学习任务⼀:使⽤vs2010建⽴数据库数据库应⽤程序的开发流程⼀般主要分为以下⼏个步骤:1. 创建数据库2. 使⽤Connection对象连接数据库3. 使⽤Command对象对数据源执⾏SQL命令并返回数据4. 使⽤DataReader和DataSet对象读取和处理数据源的数据接下来,笔者将以SQL Server类型数据源为例学习掌握数据库应⽤程序的开发流程和技巧。

在连接和操作数据库之前,需要有已经建好的数据库,那么在vs2010中如何建⽴数据库呢?这⾥将介绍三种⽅式。

⽅式⼀:直接在vs2010的项⽬中通过【添加新项】命令建⽴,步骤如下1.右击项⽬名称(在这⾥,笔者的项⽬名称为EBookShop),选择【添加新项】命令,出现如下窗⼝,选择【SQL Server 数据库】,点击添加按钮2.每次添加,都会跳出这个提⽰框,选择【是】就OK3.添加成功,则会在项⽬中产⽣App_Data⽂件夹,⾥⾯就是我们创建的数据库⽂件4.若要操作数据库,如添加表,则需要在vs2010的【服务器资源管理器】⾯板中操作,该⾯板可通过点击菜单栏⾥的【视图】菜单找到⽅式⼆:在【服务器资源管理器】⾯板中创建1.右击数据连接,出现如下选项,选择【创建新SQL Server数据库】2.服务器名称⼀般是 ''你的主机名称\sqlexpress'',如果少了 “\sqlexpress” ⼀般都⽆法创建数据库,登录到服务器有两种模式,⼀是windows⾝份3.创建成功,则可以在【服务器资源管理器】中看到数据库⽅式三:通过sql企业管理器创建数据库1.打开sql企业管理器2.使⽤windows⾝份登录或sql server⾝份登录3.管理器界⾯4.右击数据库,选择【新建数据库】5.创建数据库名称6.在创建好数据库中添加表注:项⽬中创建的数据库是在项⽬的App_Data⽂件中,⽽⽅式⼆和⽅式三创建的数据库是存在于c盘中的【C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA】⽂件夹中,如若拷⾛项⽬,需要把创建在本地的数据库拷贝到项⽬中的App_Data⽂件中,再把整个项⽬拷⾛。

vs2010 连接数据库语句

vs2010 连接数据库语句

连接数据库是在软件开发过程中经常会遇到的问题,特别是对于使用VS2010开发的软件,连接数据库更是一个不可忽视的重要环节。

在使用VS2010进行数据库连接时,需要编写相应的连接语句,以确保软件能够正常访问、读写数据库。

本文将就VS2010连接数据库语句进行详细介绍,以便开发者能够更加轻松地完成数据库连接的工作。

一、连接数据库的基本概念在进行数据库连接之前,我们首先需要了解一下数据库连接的基本概念。

数据库连接是指软件与数据库之间建立的一种通信连接,通过这种连接,软件可以向数据库发送查询、修改、删除等操作指令,并从数据库中获取相应的数据。

数据库连接是软件与数据库之间的桥梁,是软件能够与数据库正常交互的前提。

二、连接数据库的方式在VS2010中,连接数据库主要有两种方式,分别是通过代码连接和通过数据工具箱连接。

通过代码连接是指直接在代码中编写数据库连接语句,通过编程的方式完成数据库连接。

而通过数据工具箱连接则是利用VS2010提供的数据工具箱,通过图形化界面完成数据库连接。

下面分别对这两种方式进行详细介绍。

1. 通过代码连接通过代码连接数据库是一种灵活、高效的连接方式。

开发者可以根据具体需求,编写相应的数据库连接语句,以实现与数据库的连接。

在VS2010中,可以使用技术进行数据库连接,具体代码如下:```csharpstring connStr = "Data Source=YourServer;InitialCatalog=YourDatabase;UserID=YourUser;Password=YourPassword";SqlConnection conn = new SqlConnection(connStr);conn.Open();//进行数据库操作conn.Close();```上述代码中,`connStr`是数据库连接字符串,其中包括了数据库的位置区域、数据库名称、登入用户名和密码等信息。

连接mysql的方法

连接mysql的方法

连接mysql的方法连接MySQL的方法主要有以下几种:1. 使用MySQL命令行工具连接:在命令行中输入`mysql -u 用户名-p`,然后输入密码即可连接到MySQL服务器。

2. 使用MySQL提供的图形化界面工具连接:MySQL提供了一些图形化界面工具,如MySQL Workbench、phpMyAdmin等,可以通过它们来连接MySQL 服务器。

3. 使用编程语言的MySQL驱动连接:各种编程语言都提供了与MySQL交互的驱动程序,可以通过编写代码来连接MySQL服务器。

例如,在Java中可以使用JDBC驱动,Python中可以使用PyMySQL、mysql-connector-python 等驱动。

下面是一个使用Python的PyMySQL模块连接MySQL的例子:import pymysql# 连接数据库conn = pymysql.connect(host='localhost', user='root',password='123456', database='test')# 创建游标对象cursor = conn.cursor()# 执行SQL语句sql = "SELECT * FROM user"cursor.execute(sql)# 获取结果result = cursor.fetchall()for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()这是一个简单的连接和执行SQL语句的例子,具体的连接参数和SQL语句根据实际情况进行调整。

vs2010连接mysql数据库,(VS2013和64位PC,和64bitsMYSQL平台)

vs2010连接mysql数据库,(VS2013和64位PC,和64bitsMYSQL平台)

vs2010连接mysql数据库(VS2013和64位PC和64bitsMYSQL平台)数据库安装:此处有两种安装方式,第一种使用xxx.msi图形化安装方式,和普通的exe软件安装方式一样,按照默认选项一直下一步就可以。

mysql下载地址为/downloads/windows/installer/第二种是在mysql官网下载zip压缩包,解压开了就是一个文件夹。

zip包下载地址为:/downloads/mysql/根据自己的电脑操作系统位数选择相应的版本,否则到时vs链接过不了。

本文只说明第二种安装方式。

1.将mysql-5.6.14-winx64.zip解压缩到C:\mysql目录下,也可以是其它目录,自己随意。

进入到C:\mysql\mysql-5.6.14-winx64目录,看到有很多个.ini文件,这个就是数据库的配置文件,不同类型的数据库对应一个.ini文件,你可以设定端口字符集等等,修改完了之后将文件命名为my.ini,这样mysql server就能识别了。

不过如果你没有特殊需要,这个文件是可以不用动的,删除了也可以,所有的配置项mysql自己都有默认值的。

2.运行栏输入cmd,进入命令界面,cd C:\mysql\mysql-5.6.14-winx64\bin,这里放着mysqld.exe命令将mysql增加到系统服务中:运行命令 mysqld --install 或者 mysqld --install mysql3.启动mysql服务端:net start mysql (必须启动着vs才能连接上来,要是数据库连接失败请查看mysql服务是否启动)4.使用系统管理员身份运行在命令行运行:mysql -uroot 进入之后就可以执行相关的数据库命令了,若只是以mysql进入,则很多命令执行不了,必须以root用户进入,这里没有密码5.不想使用数据库了就关掉mysql服务,免得占用内存:net stop mysql删除mysql服务:mysqld --remove mysql接下来对如何使用MySql的API连接MySql数据库,开发环境为VS2010.一、VS2010工程设置工作(win32下)1.首先,建立一个windows应用程序的工程,将项目-->xx属性(xx为自己取的名字)-->配置属性-->C/C++->预处理器->预处理器定义下的_WINDOWS改为_CONSOLE,默认一般已经这样了2.链接器->系统->子系统选择为控制台。

C++连接mysql数据库的两种方法小结

C++连接mysql数据库的两种方法小结

C++连接mysql数据库的两种⽅法⼩结现在正做⼀个接⼝,通过不同的连接字符串操作不同的数据库。

要⽤到mysql数据库,以前没⽤过这个数据库,⽤access和sql server⽐较多。

通过⽹上的⼀些资料和⾃⼰的摸索,⼤致清楚了C++连接mysql的⽅法。

可以通过2种⽅法实现。

第⼀种⽅法是利⽤ADO连接,第⼆种⽅法是利⽤mysql⾃⼰的api函数进⾏连接。

第⼀种⽅法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库。

暂时只连接了mysql,sqlserver,oracle,access。

对于access,因为它创建表的SQL 语句不太兼容标准SQL语句,需要做⼀些处理,这⾥暂时不说。

第⼆种⽅法只能针对于mysql数据库的连接,不过⽤这种⽅法不⽤安装MyODBC服务器程序。

不管⽤哪种⽅法,⾸先需要安装Mysql数据库,安装⽅法请看“mysql安装及⼀些注意点”。

最好安装⼀个Navicat for mysql,⽅便操作mysql数据库。

下⾯分别说下这两种⽅法:(⼀)通过ADO连接MySql数据库1、通过ADO连接MySql数据库,⾸先得安装MyODBC服务器程序。

MyODBC版本要和MySql的版本对应上,否则会连接不上数据库。

我⽤的版本分别是mysql-5.1.48-win32.msi和mysql-connector-odbc-5.1.5-win32.msi。

安装好后,点击开始菜单->设置->控制⾯板->管理⼯具->数据源(ODBC)->⽤户DSN->添加->选择MySQL ODBC 5.1 Driver。

如下图:然后双击MySQL ODBC 5.1 Driver进⾏配置。

配置好可以点Test进⾏下测试(如下图),如果能连上会弹出connection successful对话框。

上图中的Data Source Name:中的内容就是代码⾥DSN所对应的值。

连接MYSQL数据库的种方法及示例

连接MYSQL数据库的种方法及示例

C#连接M Y S Q L数据库的方法及示例连接MYSQL数据库的方法及示例方法一:1、用MySQLDriverCS连接MySQL数据库先下载和安装MySQLDriverCS,地址:在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中注:我下载的是版本是MySQLDriverCS-n-EasyQueryTools-4.0.1using System;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using MySQLDriverCS;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){MySQLConnection conn = null;conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString);conn.Open();MySQLCommand commn = new MySQLCommand("set names gb2312", conn);commn.ExecuteNonQuery();string sql = "select * from exchange ";MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);DataSet ds = new DataSet();mda.Fill(ds, "table1");conn.Close();}}}2、通过ODBC访问mysql数据库:1. 安装Microsoft :我安装的是mysql-connector-odbc--win32.msi2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版3. 安装MySQL的ODBC驱动程序:我安装的是odbc_net.msi4. 管理工具-> 数据源ODBC –>配置DSN…using System;using ponentModel;using System.Drawing;using System.Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的using System.Text;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString);MyConnection.Open();Console.WriteLine("\n success, connected successfully !\n");string query = "insert into test values( ''hello'', ''lucas'', ''liu'')";OdbcCommand cmd = new OdbcCommand(query, MyConnection);//处理异常:插入重复记录有异常try{cmd.ExecuteNonQuery();}catch(Exception ex){Console.WriteLine("record duplicate.");}finally{cmd.Dispose();}//***********************用read方法读数据到textbox********************** string tmp1 = null;string tmp2 = null;string tmp3 = null;query = "select * from test ";OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);OdbcDataReader reader = cmd2.ExecuteReader();while (reader.Read()){tmp1 = reader[0].ToString();tmp2 = reader[1].ToString();tmp3 = reader[2].ToString();}*///************************用datagridview控件显示数据表**************************string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString);OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection);DataSet ds = new DataSet();oda.Fill(ds, "employee");*/MyConnection.Close();}}}文章出处:1、用MySQLDriverCS连接MySQL数据库先下载和安装MySQLDriverCS,地址:在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中注:我下载的是版本是MySQLDriverCS-n-EasyQueryTools-4.0.1using System;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using MySQLDriverCS;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){MySQLConnection conn = null;conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString);conn.Open();MySQLCommand commn = new MySQLCommand("set names gb2312", conn);commn.ExecuteNonQuery();string sql = "select * from exchange ";MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn);DataSet ds = new DataSet();mda.Fill(ds, "table1");conn.Close();}}}2、通过ODBC访问mysql数据库:1. 安装Microsoft :我安装的是mysql-connector-odbc--win32.msi2. 安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版3. 安装MySQL的ODBC驱动程序:我安装的是odbc_net.msi4. 管理工具-> 数据源ODBC –>配置DSN…using System;using ponentModel;using System.Drawing;using System.Linq; //vs2005好像没有这个命名空间,在c#2008下测试自动生成的using System.Text;namespace mysql{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString);MyConnection.Open();Console.WriteLine("\n success, connected successfully !\n");string query = "insert into test values( ''hello'', ''lucas'', ''liu'')";OdbcCommand cmd = new OdbcCommand(query, MyConnection);//处理异常:插入重复记录有异常try{cmd.ExecuteNonQuery();}catch(Exception ex){Console.WriteLine("record duplicate.");}finally{cmd.Dispose();}//***********************用read方法读数据到textbox********************** string tmp1 = null;string tmp2 = null;string tmp3 = null;query = "select * from test ";OdbcCommand cmd2 = new OdbcCommand(query, MyConnection);OdbcDataReader reader = cmd2.ExecuteReader();while (reader.Read()){tmp1 = reader[0].ToString();tmp2 = reader[1].ToString();tmp3 = reader[2].ToString();}*///************************用datagridview控件显示数据表************************** string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +"SERVER=localhost;" +"DATABASE=inv;" +"UID=root;" +"PASSWORD=831025;" +"OPTION=3";OdbcConnection MyConnection = new OdbcConnection(MyConString); OdbcDataAdapter oda = new OdbcDataAdapter("select * from customer ", MyConnection); DataSet ds = new DataSet();oda.Fill(ds, "employee");*/MyConnection.Close();}}}文章出处:using System;using System.Configuration;/// <summary>/// TestDatebase 的摘要说明/// </summary>public class TestDatebase{public TestDatebase(){//// TODO: 在此处添加构造函数逻辑//}public static void Main ( String[] args ){MySqlConnection mysql = getMySqlCon();//查询sqlString sqlSearch = "select * from student";//插入sqlString sqlInsert = "insert into student values (12,'张三',25,'大专')";//修改sqlString sqlUpdate = "update student set name='李四' where id= 3";//删除sqlString sqlDel = "delete from student where id = 12";//打印SQL语句Console.WriteLine ( sqlDel );//四种语句对象//MySqlCommand mySqlCommand = getSqlCommand(sqlSearch, mysql);//MySqlCommand mySqlCommand = getSqlCommand(sqlInsert, mysql);//MySqlCommand mySqlCommand = getSqlCommand(sqlUpdate, mysql);MySqlCommand mySqlCommand = getSqlCommand ( sqlDel, mysql );mysql.Open();//getResultset(mySqlCommand);//getInsert(mySqlCommand);//getUpdate(mySqlCommand);getDel ( mySqlCommand );//记得关闭mysql.Close();String readLine = Console.ReadLine();}/// <summary>/// 建立mysql数据库链接/// </summary>/// <returns></returns>public static MySqlConnection getMySqlCon(){// String mySqlCon =ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString;MySqlConnection mysql = new MySqlConnection ( mysqlStr );return mysql;}/// <summary>/// 建立执行命令语句对象/// </summary>/// <param name="sql"></param>/// <param name="mysql"></param>/// <returns></returns>public static MySqlCommand getSqlCommand ( String sql,MySqlConnection mysql ){MySqlCommand mySqlCommand = new MySqlCommand ( sql, mysql );// MySqlCommand mySqlCommand = new MySqlCommand(sql);// mySqlCommand.Connection = mysql;return mySqlCommand;}/// <summary>/// 查询并获得结果集并遍历/// </summary>/// <param name="mySqlCommand"></param>public static void getResultset ( MySqlCommand mySqlCommand ){MySqlDataReader reader = mySqlCommand.ExecuteReader();try{while ( reader.Read() ){if ( reader.HasRows ){Console.WriteLine ( "编号:" + reader.GetInt32 ( 0 ) + "|姓名:" + reader.GetString ( 1 ) + "|年龄:" + reader.GetInt32 ( 2 ) + "|学历:" + reader.GetString ( 3 ) );}}}catch ( Exception ){Console.WriteLine ( "查询失败了!" );}finally{reader.Close();}}/// <summary>/// 添加数据/// </summary>/// <param name="mySqlCommand"></param>public static void getInsert ( MySqlCommand mySqlCommand ){try{mySqlCommand.ExecuteNonQuery();}catch ( Exception ex ){String message = ex.Message;Console.WriteLine ( "插入数据失败了!" + message );}}/// <summary>/// 修改数据/// </summary>/// <param name="mySqlCommand"></param>public static void getUpdate ( MySqlCommand mySqlCommand ){try{mySqlCommand.ExecuteNonQuery();}catch ( Exception ex ){String message = ex.Message;Console.WriteLine ( "修改数据失败了!" + message );}}/// <summary>/// 删除数据/// </summary>/// <param name="mySqlCommand"></param>public static void getDel ( MySqlCommand mySqlCommand ){try{mySqlCommand.ExecuteNonQuery();}catch ( Exception ex ){String message = ex.Message;Console.WriteLine ( "删除数据失败了!" + message );}}}。

VS连接数据库的通用方法(SQLMySql)

VS连接数据库的通用方法(SQLMySql)

VS连接数据库的通⽤⽅法(SQLMySql)在vs⾥⾯连接数据库的⽅法有很多,这⾥是通⽤的⽅法和基本操作SQL1///<summary>2///数据访问抽象基础类3/// Copyright (C) Maticsoft4///</summary>5public abstract class DbHelperSQL6 {7public static int DataType = 1;8//数据库连接字符串(web.config来配置),多数据库可使⽤DbHelperSQLP来实现.9public static string connectionString = ConfigurationManager.ConnectionStrings["ReadContext"].ConnectionString;10public DbHelperSQL()11 {12if(DataType==2)13 connectionString = ConfigurationManager.ConnectionStrings["ReadContextMySql"].ConnectionString;14 }1516#region公⽤⽅法17///<summary>18///判断是否存在某表的某个字段19///</summary>20///<param name="tableName">表名称</param>21///<param name="columnName">列名称</param>22///<returns>是否存在</returns>23public static bool ColumnExists(string tableName, string columnName)24 {25string sql = "select count(1) from syscolumns where [id]=object_id('" + tableName + "') and [name]='" + columnName + "'";26object res = GetSingle(sql);27if (res == null)28 {29return false;30 }31return Convert.ToInt32(res) > 0;32 }33public static int GetMaxID(string FieldName, string TableName)34 {35string strsql = "select max(" + FieldName + ")+1 from " + TableName;36object obj = GetSingle(strsql);37if (obj == null)38 {39return1;40 }41else42 {43return int.Parse(obj.ToString());44 }45 }46public static bool Exists(string strSql)47 {48object obj = GetSingle(strSql);49return ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) ? false : true;50 }51///<summary>52///表是否存在53///</summary>54///<param name="TableName"></param>55///<returns></returns>56public static bool TabExists(string TableName)57 {58string strsql = "select count(*) from sysobjects where id = object_id(N'[" + TableName + "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1";59//string strsql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" + TableName + "]') AND type in (N'U')";60object obj = GetSingle(strsql);61int cmdresult;62if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))63 {64 cmdresult = 0;65 }66else67 {68 cmdresult = int.Parse(obj.ToString());69 }70if (cmdresult == 0)71 {72return false;73 }74else75 {76return true;77 }78 }79public static bool Exists(string strSql, params SqlParameter[] cmdParms)80 {81object obj = GetSingle(strSql, cmdParms);82int cmdresult;83if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))84 {85 cmdresult = 0;86 }87else88 {89 cmdresult = int.Parse(obj.ToString());90 }91if (cmdresult == 0)92 {93return false;94 }95else96 {97return true;98 }99 }100#endregion101102#region执⾏简单SQL语句103104///<summary>105///执⾏SQL语句,返回影响的记录数106///</summary>107///<param name="SQLString">SQL语句</param>108///<returns>影响的记录数</returns>109public static int ExecuteSql(string SQLString)110 {111using (SqlConnection connection = new SqlConnection(connectionString))112 {113using (SqlCommand cmd = new SqlCommand(SQLString, connection))114 {115try117 connection.Open();118int rows = cmd.ExecuteNonQuery();119return rows;120 }121catch (System.Data.SqlClient.SqlException e)122 {123124 connection.Close();125throw e;126 }127 }128 }129 }130131public static int ExecuteSqlByTime(string SQLString, int Times)132 {133using (SqlConnection connection = new SqlConnection(connectionString))134 {135using (SqlCommand cmd = new SqlCommand(SQLString, connection))136 {137try138 {139 connection.Open();140 mandTimeout = Times;141int rows = cmd.ExecuteNonQuery();142return rows;143 }144catch (System.Data.SqlClient.SqlException e)145 {146147 connection.Close();148throw e;149 }150 }151 }152 }153///<summary>154///执⾏多条SQL语句,实现数据库事务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Vs2010连接Mysql数据库方法下载MySQL 5.5.13 正式版:/html/361.html-------------------------------------------操作系统:winxp-32bit数据库:MySQL Server 5.5(安装路径:D:\Program Files\MySQL\MySQL Server 5.5)IDE: Microsoft Visual Studio 2010 untimate/Professional(以上东西都是完整安装的)-------------------------------------------一、VC设置1、新建一个工程,随便写一个helloworld,目的是就是让工程下的“debug”文件夹出现2、把D:\Program Files\MySQL\MySQL Server 5.5\lib下面的libmysql.dll复制到工程的debug文件夹里面3、接下来要设置一些引用文件的环境变量,首先,点击项目->属性->vc++目录。

然后“include目录”那把“D:\Program Files\MySQL\MySQL Server 5.5\include”给加进来再然后“lib目录”那里把“D:\Program Files\MySQL\MySQL Server 5.5\lib”也一起加进来VC6.0设置:(1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。

(我的是D:\Program Files\MySQL\MySQL Server 5.5\include)。

(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。

Lib目录下有debug目录,选debug。

(我的是D:\Program Files\MySQL\MySQL Server 5.5\lib\debug)。

4、然后在项目->属性窗口下点击:连接器->输入->附加依赖项,把"libmysql.lib"写进去VC6.0设置:在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。

使用VC++编译时再添加以下项:5、在stdafx.h里面添加如下的内容:#include "mysql.h"#include "winsock.h" // 如果编译出错,则把该行放到#include "mysql.h"之前#pragma comment(lib,"libmySQL.lib") // 如果在附加依赖项里已增加,则就不要添加了二、数据库的相关操作1、打开“开始->所有程序->MySQL->MySQL Server 5.5->MySQL Command Line Client.exe”,如果有密码就输入密码,没有设置密码就直接按回车,会提示服务器启动成功。

2、显示所有的数据库mysql> show databases;注意一定要敲“;”后再按回车3、创建数据库mydbmysql> create database mydb;4、选择你所创建的数据库mydbmysql> use mydb;5、显示数据库中的表mysql> show tables;因为是新创建的数据库,所以为空6、创建一个表mysql> create table tettable (id int(3) auto_increment not null primarykey,timedatetime,name char(10) not null,addressvarchar(20),year date,s1char(11) ,s2 int default ‘1’ )注:在建表中:(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动加一:auto_increment并不能为空:not null,而且让他成为主字段primary key。

(2)将time设为日期时间字段。

(3)将NAME设为长度为10的字符字段。

并不能为空:not null(4)将ADDRESS设为长度20的字符字段,而且缺省值为深圳。

varchar和char有什么区别呢,只有等以后的文章再说了。

(4)将YEAR设为日期字段。

(5)将S1设为长度为11的字符字段(6)将S2设为数字字段int,而且缺省值为17、显示表的结构mysql> describe testtable;8、实现添加数据到表mysql> insert into testtable values('1','2010-10-08', 'bj','深圳一中','2010-10-08','MySQLTest',20);mysql> insert into testtable values('2','2010-10-08', 'jj','深圳二中','2010-10-08','MySQLTest2',20);9、显示表中的记录mysql> select * from testtable;mysql> select * from testtable where name = “bj”;10、实现修改功能mysql> update testtable set address = "桃园县一中" where name = "jj"; mysql> select * from testtable;11、实现删除功能mysql> delete from testtable where name = "jj";mysql> delete from testtable where id>4;mysql> delete from testtable where id>4 and id<9;12、删库和删表:drop database 库名;drop table 表名;13、将表中记录清空:delete from 表名;14、将文本数据转到数据库中1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.例:3 1976-10-10 rose 深圳二中 1976-10-10 mysql1 224 1976-10-10 mike 深圳一中 1975-12-23 mysql2 242、数据传入命令 load data local infile "文件名" into table 表名;注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在的库。

15、备份数据库:(命令在DOS的\mysql\bin目录下执行)mysqldump --opt 数据库或表名 -u root -p密码 > F:\mydb.bbbmysqldump --opt mydb -u root -p111 > F:\mydb.sql注释:将数据库mydb备份到F盘mydb.bbb文件,mydb.sql是一个文本文件,文件名任取,打开看看你会有新发现。

-u后空格,指定用户名,必需,-p指定密码,注意后面直接跟密码不能空格,如果不填密码,再在后面输入即可。

16、导入数据库从e:\MySQL\mydb2.sql中将文件中的SQL语句导入数据库中:1.从命令行进入MySQL,然后用命令CREATE DATABASE mydb2;创建数据库mydb2。

2.退出MySQL 可以输入命令exit;或者quit;3.在CMD中输入下列命令:c:\>MySQL -h localhost -u root -p mydb2 < e:\MySQL\mydb2.sql17、MySql密码修改格式:mysqladmin -u用户名 -p旧密码 password 新密码1、给root加个密码ab12。

首先在DOS下进入目录mysql\bin,然后键入以下命令mysqladmin -u root -password ab12注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2、再将root的密码改为djg345。

mysqladmin -u root -pab12 password djg345(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)3、命令行修改root密码:>use mysql>update user set password=password(”djg345”) where user=”root”;>flush privileges;重新杀 MySQL ,用正常方法启动 MySQL 。

4、显示当前的user:mysql> SELECT USER();MYSQL增加用户命令方式的.注意每行后边都跟个;表示一个命令语句结束.格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"例1、增加一个用户user密码为1234,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

首先用以root用户连入MYSQL,然后键入以下命令:grantselect,insert,update,delete on *.* to user@"%" identified by "1234";但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。

例2、增加一个用户user密码为1234,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道user的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。

相关文档
最新文档