ASP.NET 6种常用数据库的连接方法
1.c#连接连接access
程序代码:
using system.data;
using system.data.oledb;
..
string
strconnection="provider=microsoft.jet.oledb.4.0;";
strconnection+=@"data
source=c:begaspnetnorthwind.mdb";
oledbconnection
objconnection=new oledbconnection(strconnection);
..
objconnection.open();
objconnection.close();
解释:
连接access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!
strconnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源.
"provider=microsoft.jet.oledb.4.0;"是指数据提供者,这里使用的是microsoft
jet引擎,也就是access中的数据引擎,asp.net就是靠这个和access的数据库连接的.
"data
source=c:\begaspnet\northwind.mdb"是指明数据源的位置,他的标准形式是"data
source=mydrive:mypath\myfile.mdb".
ps:
1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符.
2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:
strconnection+="data
source=";
strconnection+=mappath("northwind.mdb");
这样就可以省得你写一大堆东西了!
3.要注意连接字符串中的参数之间要用分号来分隔.
"oledbconnection objconnection=new
oledbconnection(strconnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道.
"objconnection.open();"这用来打开连接.至此,与access数据库的连接完成.
2.c#连接sql server
程序代码:
using
system.data;
using system.data.sqlclient;
..
string strconnection="user id=sa;password=;";
strconnection+="initial catalog=northwind;server=yoursqlserver;";
strconnection+="connect timeout=30";
sqlconnection
objconnection=new sqlconnection(strconnection);
..
objconnection.open();
objconnection.close();
解释:
连接sql server数据库的机制与连接access的机制没有什么太大的区别,只是改变了connection对象和连接字符串中的不同参数.
首先,连接sql server使用的命名空间不是"system.data.oledb",而是"system.data.sqlclient".
其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):
"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
source","address","addr".如果使用的是本地数据库且定义了实例名,则可以写为"server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或ip地址.
"connect timeout=30":连接超时时间为30秒.
在这里,建立连接对象用的构造函数为:sqlconnection.
3.c#连接oracle
程序代码:
using system.data.oracleclient;
using system.data;
//在窗体上添加一个按钮,叫button1,双击button1,输入以下代码
private void
button1_click(object sender, system.eventargs e)
{
string
connectionstring="data source=sky;user=system;password=manager;";//写连接串
oracleconnection conn=new oracleconnection(connectionstring);//创建一个新连接
try
{
conn.open();
oraclecommand
cmd=conn.createcommand();
cmd.commandtext="select * from
mytable";//在这儿写sql语句
oracledatareader
odr=cmd.executereader();//创建一个oracledatereader对象
while(odr.read())//读取数据,如果odr.read()返回为false的话,就说明到记录集的尾部了
{
response.write(odr.getoraclestring(1).tostring());//输出字段1,这个数是字段索引,具体怎么使用字段名还有待研究
}
odr.close();
}
catch(exception ee)
{
response.write(ee.message); //如果有错误,输出错误信息
}
finally
{
conn.close(); //关闭连接
}
}
4.c#连接mysql
程序代码:
using mysqldrivercs;
// 建立数据库连接
mysqlconnection dbconn;
dbconn = new mysqlconnection(new
mysqlconnectionstring("localhost","mysql","root","",3306).asstring);
dbconn.open();
// 执行查询语句
mysqlcommand dbcomm;
dbcomm = new mysqlcommand("select host,user from
user",dbconn);
// 读取数据
mysqldatareader dbreader
= dbcomm.executereaderex();
// 显示数据
try
{
while (dbreader.read())
{
console.writeline("host =
{0} and user = {1}", dbreader.getstring(0),dbreader.getstring(1));
}
}
finally
{
dbreader.close();
dbconn.close();
}
//关闭数据库连接
dbconn.close();
5.c#连接ibm db2
程序代码:
oledbconnection1.open();
//打开数据库连接
oledbdataadapter1.fill(dataset1,"address");
//将得来的数据填入dataset
datagrid1.databind();
//绑定数据
oledbconnection1.close();
//关闭连接
//增加数据库数据
在web
form上新增对应字段数量个数的textbox,及一个button,为该按键增加click响应事件代码如下:
this.oledbinsertcommand1.commandtext = "insertsintosaddress(name,
email, age, address) values
('"+textbox1.text+"','"+textbox2.text+"','"+textbox3.text+"','"+textbox4.text+"')";
oledbinsertcommand1.connection.open();
//打开连接
oledbinsertcommand1.executenonquery();
//执行该sql语句
oledbinsertcommand1.connection.close();
//关闭连接
6.c#连接sybase
程序代码: (oledb)
provider=sybase.aseoledbprovider.2;initial catalog=数据库名;user
id=用户名;data source=数据源;extended properties="";server name=ip地址;network
protocol=winsock;server port address=5000;