本文列出了C#连接AccessSQL ServerOracleMySQLDB和SyBase六种不同数据库的程序源码和需要注意的点
C#连接Access
程序代码
using SystemData;
using SystemDataOleDb;
string strConnection=Provider=MicrosoftJetOleDb;;
strConnection+=@DataSource=C:\BegASPNET\Northwindmdb;
OleDbConnection objConnection=new OleDbConnection(strConnection);
objConnectionOpen();
objConnectionClose();
解释
连接Access数据库需要导入额外的命名空间所以有了最前面的两条using命令这是必不可少的!
strConnection这个变量里存放的是连接数据库所需要的连接字符串他指定了要使用的数据提供者和要使用的数据源
Provider=MicrosoftJetOleDb;是指数据提供者这里使用的是Microsoft Jet引擎也就是Access中的数据引擎就是靠这个和Access的数据库连接的
Data Source=C:\BegASPNET\Northwindmdb是指明数据源的位置他的标准形式是Data Source=MyDrive:MyPath\MyFileMDB
PS
+=后面的@符号是防止将后面字符串中的\解析为转义字符
如果要连接的数据库文件和当前文件在同一个目录下还可以使用如下的方法连接
strConnection+=Data Source=;strConnection+=MapPath(Northwindmdb);
要注意连接字符串中的参数之间要用分号来分隔
OleDbConnection objConnection=new OleDbConnection(strConnection);这一句是利用定义好的连接字符串来建立了一个链接对象以后对数据库的操作我们都要和这个对象打交道
objConnectionOpen();这用来打开连接至此与Access数据库的连接完成
C#连接SQL Server
程序代码
using SystemData;
using SystemDataSqlClient;
string strConnection=user id=sa;password=;;
strConnection+=initial catalog=Northwind;Server=YourSQLServer;;
strConnection+=Connect Timeout=;
SqlConnection objConnection=new SqlConnection(strConnection);
objConnectionOpen();
objConnectionClose();
解释
连接SQL Server数据库的机制与连接Access的机制没有什么太大的区别只是改变了Connection对象和连接字符串中的不同参数
首先连接SQL Server使用的命名空间不是SystemDataOleDb而是SystemDataSqlClient
其次就是他的连接字符串了我们一个一个参数来介绍(注意参数间用分号分隔)
user id=sa连接数据库的验证用户名为sa他还有一个别名uid所以这句我们还可以写成uid=sa
password=连接数据库的验证密码为空他的别名为pwd所以我们可以写为pwd=
这里注意你的SQL Server必须已经设置了需要用户名和密码来登录否则不能用这样的方式来登录如果你的SQL Server设置为Windows登录那么在这里就不需要使用user id和password这样的方式来登录而需要使用Trusted_Connection=SSPI来进行登录
initial catalog=Northwind使用的数据源为Northwind这个数据库他的别名为Database本句可以写成Database=Northwind
Server=YourSQLServer使用名为YourSQLServer的服务器他的别名为Data SourceAddressAddr如果使用的是本地数据库且定义了实例名则可以写为Server=(local)\实例名;如果是远程服务器则将(local)替换为远程服务器的名称或IP地址
Connect Timeout=连接超时时间为秒
在这里建立连接对象用的构造函数为SqlConnection
C#连接Oracle
程序代码
using SystemDataOracleClient;using SystemData;//在窗体上添加一个按钮叫Button双击Button输入以下代码private void Button_Click(object sender SystemEventArgs e){string ConnectionString=Data Source=sky;user=system;password=manager;;//写连接串OracleConnection conn=new OracleConnection(ConnectionString);//创建一个新连接try{connOpen();OracleCommand cmd=connCreateCommand();cmdCommandText=select * from MyTable;//在这儿写sql语句OracleDataReader odr=cmdExecuteReader();//创建一个OracleDateReader对象while(odrRead())//读取数据如果odrRead()返回为false的话就说明到记录集的尾部了 {ResponseWrite(odrGetOracleString()ToString());//输出字段这个数是字段索引具体怎么使用字段名还有待研究}odrClose();}catch(Exception ee){ResponseWrite(eeMessage); //如果有错误输出错误信息}finally{connClose(); //关闭连接}}
C#连接MySQL
程序代码
using MySQLDriverCS; // 建立数据库连接MySQLConnection DBConn;DBConn = new MySQLConnection(new MySQLConnectionString(localhostmysqlroot)AsString);DBConnOpen(); // 执行查询语句MySQLCommand DBComm;DBComm = new MySQLCommand(select HostUser from userDBConn); // 读取数据MySQLDataReader DBReader = DBCommExecuteReaderEx(); // 显示数据try{while (DBReaderRead()){ConsoleWriteLine(Host = {} and User = {} DBReaderGetString()DBReaderGetString());}}finally{DBReaderClose();DBConnClose();} //关闭数据库连接DBConnClose();
C#连接IBM DB
程序代码
OleDbConnectionOpen();//打开数据库连接OleDbDataAdapterFill(dataSetAddress);//将得来的数据填入dataSetDataGridDataBind();//绑定数据OleDbConnectionClose();//关闭连接 //增加数据库数据在Web Form上新增对应字段数量个数的TextBox及一个button为该按键增加Click响应事件代码如下thisOleDbInsertCommandCommandText = INSERTsintosADDRESS(NAMEEMAIL AGE ADDRESS) VALUES(+TextBoxText++TextBoxText++TextBoxText++TextBoxText+);OleDbInsertCommandConnectionOpen();//打开连接OleDbInsertCommandExecuteNonQuery();//执行该SQL语句OleDbInsertCommandConnectionClose();//关闭连接
C#连接SyBase
程序代码
Provider=SybaseASEOLEDBProvider;Initial Catalog=数据库名;User ID=用户名;Data Source=数据源;Extended Properties=;Server Name=ip地址;Network Protocol=Winsock;Server Port Address=;