❶ asp无法访问access数据库的问题
要解决的一个是iis64到32的问题, ,然后 解决asp.net 扩展的64位问题,只解决一个就失败。
.单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
2.键入以下命令启用 32 位模式: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3.键入以下命令,安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射: %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
4.确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。
cmd:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.40607\aspnet_regiis.exe -i
❷ 未在本地计算机上注册access数据库提供程序。
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;"+
"Ole Db Services=-4;"+
"Data Source=D:\\BegASPNET2.0\\Nwind.mdb;";
这样看看行不行
❸ asp.net中动态修改配置文件的方法
很多时候,我们可能会在中动态的修改配置文件,我们可以使用如下代码中涉及到的类来完成配置文件,下面的代码是修改connectionstring的例子:
System.Configuration.Configuration c = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
c.ConnectionStrings.ConnectionStrings.Clear();
ConnectionStringSettings s = new ConnectionStringSettings();
s.ProviderName = "System.Data.OleDb";
s.ConnectionString = "Provider=Microsoft.oledb.jet.4.0;data source=c:\abc.mdb";
s.Name = "myaccess";
c.ConnectionStrings.ConnectionStrings.Add(s);
c.Save();
但是因为安全性的关系, 不允许用Configuration的类对Web.config进行修改,
只能用操作xml对象的形式进行修改
XmlDocument doc = new XmlDocument();
doc.Load("Web.config");
XmlNode node = doc.DocumentElement.SelectSingleNode("appSettings");
node.SelectSingleNode("descendant::add[@key='Value_Inform']")。Attributes[1].Value = "111";
doc.DocumentElement.SelectSingleNode("appSettings")。InnerXml = node.InnerXml;
doc.Save("Web.config");
尽量不要修改web.config文件
web.config的改动由aspnet_wp进程监视,如果有改动,因为会导致web应用程序重启,降低性能,所有的Session会重置
但是不建议动态修改web.config的值,因为会导致web应用程序重启,降低性能。
❹ 下载的asp.net源码怎么用
asp.net环境配置ASP.NET
一、安装IIS与配置IIS
在Windows 2000、Windows XP、Windows 2003或Windows Vista等操作系统中,IIS文件及安装方式都有所不同。
1、Windows 2003下安装IIS:
依次点击“开始”->“设置”->“控制面板”->“添加删除程序”,在出现的“添加删除程序”界面中,单击
“添加/删除 Windows组件”,在出现的“Windows组件向导”窗口中,选中“应用程序服务器”后单击“下一 步”
按钮,系统开始安装IIS组件。
2、Windows 2003的IIS配置:
安装好IIS后,在“控制面板”双击“Internet信息服务(IIS)管理器”,在“Internet信息服务”窗口中,点选
“默认网站”后右键选择“属性”,在出现的“默认网站属性”窗口中,右键依次选择“属性”->选择网站主目录。
这里只要选择本地路径就可以了。
另外在Web服务扩展中允许 ASP.NET v2.0.50727
3、Windows 2000、Windows XP下安装IIS:在Windows 2000、Windows XP操作系统中,IIS安装方法和配置与Windows 2003相似。这里就不详细写了。
4、Vista下安装IIS:
依次点击“开始”->“控制面板”->“程序”,在出现的“程序和功能”界面中单击“打开或关闭Windows功能”展开“Internet信息服务”:
在“Web管理工具”中,选中“IIS管理服务”、“IIS管理脚本和工具”、“IIS管理控制台”选项;在“万维网服务”中,选中“应用程序
开发功能”中的“.NET扩展性”、“ASP”“ASP.NET” 选项。。
选择好后单击“确定”按钮,系统开始安装IIS组件,几分钟后IIS即可安装完成。
5、Windows Vista的IIS配置:
依次点击“开始”->“所有程序”->“管理工具”->“Internet信息服务(IIS)管理器”,在出现的“Internet信息服务(IIS)管理器”界面中,
依次点击“网站”-> “设置网站默认设置”。
在出现的“网站默认设置”窗口中,单击“应用程序池”,在“应用程序池”的下拉菜单中,将“应用程序池”改为“Classic.NET AppPool”。
双击“默认文档”,修改首页的默认文档及排序,单击“应用”按钮保存设置。
二、安装与配置.NET Framework 2.0
您可以通过微软的官方网站下载.NET Framework 2.0 (下载地址http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en)安装程序。.NET Framework 2.0的安装过程非常简单,在解压.NET Framework 2.0安装包后,双击安装目录下的dotn
betfx2.0.exe安装文件,按照安装提示进行安装即可。
配置网站以支持.Net2.0。依次点击“开始”->“程序”->“控制面板”->“管理工具”->“Internet信息服务”,在“Internet信息服务”管理界面中点选“默认网站”后右键
选择“属性”,在出现的“默认网站属性”窗口中单击“ASP.NET”选项卡,并在“ASP.NET version”中选择“2.0.50727”。同时还可以看到其
安装路径等信息。
三、安装与配置SQL Server 2000/2005
只介绍SQL Server 2005的安装。
1、以下是安装过程中的几个重要设置。。建议一般用户在安装过程中按照以下示例进行设置。这里演示的是SQL2005开发版的安装。
2、如果你是用于测试环境,建议进行全部安装。如果是生产环境,请专业人员配置安装。
3、如果程序要用到报表服务器,就要选择reporting services,否则在安装过程中安装程序没有配置服务器,那么就会无法使用报表服务器。
4、sa密码一定要复杂。也要可以在安装完SQL之后把SA帐户删除,以保安全。
四、文件夹权限配置
首先要注意的是:为了你网站的安全请不要在IIS中打开写入权限,并且将你的磁盘文件系统格式转化安全一点的NTFS格式。请参照下面的说明进行权限的配置。
当站点在NTFS分区时,如果站点所在的目录或者数据库目录没有给访问的用户读写权限,那就会引起以下的错误:
1、“Microsoft JET Database Engine (0x80040E09) 不能更新。
2、数据库或对象为只读
3、出现”请确认你具有对文件夹与文件有读写的权限”等提示
解决方法:我们假定站点在H:\website 目录下,下面的图示以WINXP为例,其它系统可以参照进行设置,
具体操作如下:
1、查看站点是否安装在NTFS分区内,如果不是NTFS格式请转化为NTFS文件系统格式。也只有NTFS格式才能进行下面讲到的权限配置操作.
2、请进入文件管理器的文件夹选项
3、将“使用简单文件共享”前的勾选去掉
4、右键点击动易系统安装目录-共享和安全
6、点击高级选项
7、查找用户或组
8、选择aspnet帐户
9、点击确定
10、勾选站点目录对于aspnet 的读写权限
❺ 如何进行C#连接Access数据库的细节操作
许多学者总会面对于数据库的知识,以下的例子讲述到Access数据库说明,用C#的DataSet类访问数据库的一些操作方法。
操作涉及的主要C#类有:
DataSet:对应数据库表的一个集合,实际上是数据库表在内存中的一个缓存
DataTable:对应数据库表,是数据库表行的集合
DataRow:对应数据库表行
OleDbConnection:建立数据库连接
OleDbDataAdapter:由数据库生成DataSet,并负责DataSet与数据库的同步
OleDbCommandBuilder:生成更新数据库所需的指令www.kmxxfk.com
DataSet、DataTable、DataRow用于数据在缓存中的操作,这上面的操作只有更新到数据库中,修改结果才会被永久保存。OleDbConnection 是用OLEDB方法连接数据库所必需的。OleDbDataAdapter和OleDbCommandBuilder用来生成DataSet,完成数据库更新。与OleDbDataAdapter和OleDbCommandBuilder相对应,SqlDataAdapter和SqlCommandBuilder也可以完成用SQL语言为指令的数据库更新。
假设在D:盘创建了Access数据库,其路径为d:\0DBAcs\account.mdb,数据库中有一张名为kai的数据库表。表结构如下:
表名;Kai
字段Field Name类型说明
1开支IDkzID长整型自动编号
2开支人Kzren文本50字符
3开支项目名kzname文本50字符
4日期riqi日期/时间99-99-99;0掩码
5开支说明shuoming文本225字符
6总金额zonge单精度小数点任意;这项开支的总花费
7数量shuliang长整型www.kmxxfc.com
8单价Danjia单精度小数点任意
表建好之后:(1)对表中添加新数据(2)查询表中的某个字段。为了实现这两项功能,以下几个问题要考虑:
1准备工作
声明必须的公共变量
建立与数据库的连接,创建DataSet对象
2添加记录
在DataSet对象上添加记录
同步DataSet对象对象与数据库中的数据,这一点很重要,很多人忘记了数据进行同步,结果往往是添加、修改的数据不能保存到数据库中。
3查询数据库表中某记录的某字段;
我们可以将上述功能用一个类DataOper实现,下面是程序设计的主要活动。
声明要用的C#系统类
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
声明DataOper类中的公共变量
private string DBlocation;
private OleDbConnection dbconn; //数据库连接
private OleDbDataAdapter da;
建立与数据库的连接,这里采用了OLEDB方法:
dbconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=d:\0DBAcs\account.mdb");
dbconn.Open();
创建DataSet对象
da = new OleDbDataAdapter(@"select * from kai", dbconn); //引用数据库连接dbconn并依据SQL语句"select * from kai"创建OleDbDataAdapter对象da
DataSet ds = new DataSet(); //创建DataSet对象
da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象
添加记录并更新数据库
OleDbCommandBuilder cb = new OleDbCommandBuilder(da); // 创建OleDbCommandBuilder对象cb用于更新OleDbDataAdapter对象da的Insert、Delete、Update指令
da.UpdateCommand = cb.GetUpdateCommand(); //更新OleDbDataAdapter对象da的指令
设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationException,并提示:Update requires a valid InsertCommand when passed DataRow collection with new rows.
DataRow drx = ds.Tables[0].NewRow(); //创建一条新记录行
drx["kzren"] = "kzren";
drx["kzname"]="kzname";
drx["riqi"]=2008-10-11;
drx["shuoming"]="shuoming";
drx["zonge"] = 12;
drx["shuliang"] = 3;
drx["danjia"] = 4;
ds.Tables[0].Rows.Add(drx); //在表中追加记录
da.Update(ds); //更新数据库
要查询引用某记录的某字段,直接按如下的方法引用就可以了。
String kx=ds.Tables[0].Rows[0]["kzren"].ToString()连接access
首先看一个例子代码片断:
程序代码:www.lzfsk.com/
--------------------------------------------------------------------------------
using system.data;
using system.data.oledb;
......
string strconnection="provider=microsoft.jet.oledb.4.0;";
strconnection+=@"data source=c:\begas.Net\northwind.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数据库的连接完成.其余操作(插入,删除...)请参阅相关书籍
连接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.
其余的就和access没有什么区别了!
********************************************************************************************************************
用c#访问access数据库
我编写这个程序的动机是当我希望用c sharp访问msaccess数据库的时候我没有办法获得任何信息和参考材料.网上所能获得的所有材料都是偏重于sql的,所以我们将分两步来编写这个应用程序,第一我们将展示如何连接到msaccess数据库然后看看它有多复杂.最后,我们就这样完成了这个程序.
闲言少序,让我们开始正题.连接到数据库的过程与我们早先的ado连接过程相比已经发生了较大的变化.下面的图表恰当的(我希望如此)oledbconnection--> oledbcommand --> oledbdatareader.现在那些熟悉ado的人很明显能看出两者的相似之处但是为了使那些还没有很好的适应ado的人能够明白,下面是一些解释.
oledbconnection -->代表对数据库的单一连接,根据底层数据库的功能它能给你操纵数据库的能力.有一点必须记住,虽然oledbconnection对象出了作用范围,它也不会自动被关闭.所以,你将不得不显示的调用这个对象的close()方法.
oledbcommand -->这是就象我们在ado中使用的一样的通常的command对象.你可以通过这个对象调用sql存储过程或是sql查询语句.
oledbdatareader -->这个类拥有非常大的重要性因为它提供了实际上的对数据库底层数据集的访问.当你调用oledbcommand的executereader方法的时候它就会被创建,.net beta2 sdk说不要直接创建这个类的对象.
现在你可以在.net beta 2的文档中看到更多的关于这些主要对象的说明,下面是指出如何在程序中访问数据库的源代码.
using system;
using system.data.oledb;
class oledbtest{
public static void main()
{
/创建数据库连接
oledbconnection aconnection = new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=c:\\db1.mdb");
/创建command对象并保存sql查询语句
oledbcommand acommand = new oledbcommand("select * from emp_test", aconnection);
try
{
aconnection.open();
/创建datareader 对象来连接到表单
oledbdatareader areader = acommand.executereader();
console.writeline("this is the returned data from emp_test table");
/循环遍历数据库
while(areader.read())
{
console.writeline(areader.getint32(0).tostring());
}
/关闭reader对象
areader.close();
/关闭连接,这很重要
aconnection.close();
}
/一些通常的异常处理
catch(oledbexception e)
{
console.writeline("error: {0}", e.errors[0].message);
}
}
}
成功运行这个程序的步骤
1.用msaccess创建一个名叫db1.mdb的数据库
2.创建一个名叫emp_test的表单
3.使它包含下列数据域
emp_code int
emp_name text
emp_ext text
4.将上面的代码保存到sample.cs文件中
5.确保数据库位于c:\并确保mdac2.6或是更新的版本已经被安装
6.编译运行
现在让我们来了解一些我们在oledbconnection对象的构造函数看到的东西的一些细节,在这里你看见诸如"provider="之类的东西.下面是一些和ado.net兼容的驱动程序类型.
sqlolddb --> microsoft ole db provider for sql server,
msra --> microsoft ole db provider forOracle,
microsoft.jet.oledb.4.0 --> ole db provider for microsoft jet
你可以选择其中的任何一个但是他们会需要传递不同的参数,例如jet.oledb.需要传递mdb文件的名字而sqloledb需要传递用户名和密码.
所有这些驱动程序都位于system.data.oledb命名空间里,所以你必须包括它,而且它们和oledb provider for odbc不兼容,也就是说你不能在VB6.0程序里使用这些驱动程序来访问数据库,所以不要去寻找解释为什么要把这些数据库放在c:\上的资料了
当你使用microsoft sql server 7.0 或者更新版本的时候,下面是微软给出的一些指导:
推荐使用.net data provider在下列情况中,使用microsoft sql server 7.0 或者更新版本的中间层应用程序,使用microsoft data engine (msde)或icrosoft sql server 7.0 或者更新版本的单层应用程序.
建议将ole db provider for sql server (sqloledb)和ole db .net data provider一起使用.
对于microsoft sql server 6.5和更早的版本,你必须同时使用ole db provider for sql server 和 ole db.net data provider.
推荐使用microsoft sql server 6.5和更早的版本或是oracle的中间层应用程序使用ole db .net data provider.
对于microsoft sql server 7.0 或者更新版本,推荐sql server .net data provider.
推荐单层应用程序使用microsoft access数据库.
不推荐一个中间层程序同时使用ole db .net data provider和microsoft access数据库.
不再支持ole db provider for odbc (msdasql)
❻ 跪求Visual C++程序连接数据库的方法,十分火急!!!
C#的各种连接数据库2007年11月01日 星期四 11:461.C#连接连接Access
程序代码:
-------------------------------------------------------------------------------
using System.Data;
using System.Data.OleDb;
......
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.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;
Visual C 连接数据库
- 连接SQL Server 2000
使用DAO
看下面的代码:
CDaoDatabase db;
CString conn;
conn="ODBC;Driver=
SQLServer};Server=192.168.0.4;Database=mydb;uid=sa;pwd=";
db.Open(NULL,FALSE,FALSE,conn);
CString s=db.GetConnect();
CDaoRecordset rs(&db);
rs.Open(AFX_DAO_USE_DEFAULT_TYPE,"select * from tb_code");
TRACE("%drn",rs.GetRecordCount());
rs.Close();
db.Close();
其中Server=192.168.0.4是sql server服务器的ip地址,也可以用主机名表示;Database=mydb表示使用mydb数据库;uid和pwd分别表示访问数据库的用户名和密码。
注意:上面的代码的运行还要用#include "afx.h" 把afx.h包含进来。当然最好还是加入些必要的出错处理代码,这里就不在详述了。
二 连接 Microsoft Access数据库
看下面实例的代码,这也是我用的比较多的一种方法,access文件只要放在和应用程序相同的文件夹中就能保证代码可以正确执行。
CString sPath,message;
GetMoleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer();
int nPos;
nPos=sPath.ReverseFind('');
sPath=sPath.Left(nPos);
CString runpath=sPath+"clzmf.mdb"; //这里的clzmf.mdb就是要打开的数据库名
runpath.Replace('','/');
m_pDatabase=new CDaoDatabase;
try
{
m_pDatabase->Open(runpath);
}
catch(CDaoException *e)
{
message=_T("Could't open database-- Exception:");
message+=e->m_pErrorInfo->m_strDescription;
AfxMessageBox(message);
}
CString sqlstr="select * from user_info where user_id='myid';
CDaoRecordset rs(m_pDatabase);
try
{
rs.Open(AFX_DAO_USE_DEFAULT_TYPE,sqlstr);
}
catch(CDaoException *e)
{
message=_T("Could't open Recordset-- Exception:");
message+=e->m_pErrorInfo->m_strDescription;
AfxMessageBox(message);
}
这里加入了异常处理的代码,其他注意选项可以参照Sql Server 2000的注意选项。
#连接SQL数据库并且在表中进行对数据操作2007-11-30 16:07using System;
using System.Collections.Generic;
using System.Text;
using Model;
using System.Data;
using System.Data.SqlClient;
//在表中修改
private void btnOK_Click(object sender, EventArgs e)
{
try
{
DialogResult result = MessageBox.Show("你确定?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
//string strConn = "server=.;uid=sa;pwd=;database=wareDB";
string strConn = "server=.;uid=sa;pwd=;database=ShopManegerDB";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from Shop";
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd; //获取选择命令
//创建自动生成Sql对象
SqlCommandBuilder builder = new SqlCommandBuilder(da);
//保存修改
da.Update(ds.Tables[0]); //提交更新
MessageBox.Show("修改成功");
this.Isindsplay();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//在表中操作删除
private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
//保证选中
if (dgvData.CurrentCell.RowIndex != -1)
{
DialogResult result = MessageBox.Show("你确定?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
//删除
ds.Tables[0].Rows[dgvData.CurrentCell.RowIndex].Delete(); //删除该选中行
}
}
}
删除成功后,在次按保存按钮.