具体方法
asp.net连接access代码
代码如下 | 复制代码 |
<%@ Page Language="C#" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.OleDb" %> <script runat="server"> // Insert page code here // void Page_Load(){ string db=@"database/data.mdb"; string connStr="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+Server.MapPath(db)+";"; string SQLcmd="create table IEB_webs(ID identity primary key,title varchar(255) Default Null)"; OleDbConnection conn=new OleDbConnection(connStr); conn.Open(); OleDbCommand OleCmd=new OleDbCommand(SQLcmd,conn); OleCmd.ExecuteNonQuery(); //执行SQL命令 Response.Write("数据表建立完成!"); } conn.Close(); conn=null; OleCmd=null; } </script> <html> <head> </head> <body> <form method="post" runat="server"> <!-- Insert content here --> </form> </body> </html> |
连接access失败原因分析
处理AccessDataSource连接失败
(1) 在ch02文件夹中,创建一个名为TIO-4-ConnectionFailure-CS.aspx的文件。在Design视图中,添加一个指向Northwind 的AccessDataSource控件至页面,该控件从表中选择了所有列。
(2) 添加GridView用来显示数据源控件中的信息。同样,添加一个标签控件,并将其命名为“Message”。
(3) 现在切换至Source视图并对标记作一些修改,如下突出显示代码所示。如果其中有<columns>标记部分,则将其删除。留下的代码应当如下所示:
代码如下 | 复制代码 |
<html> <head id="Headl" runat="server"> <title>Chapter 2 TIO #4 Connection Failure to Access in C#</title> </head> <body> <h3>Chapter 2 TIO #4 Connection Failure to Access in C#</h3> <form id="forml" runat="server"> <asp:label ID="Message" runat="server"/><br/><br/> <asp:gridview id="GridViewl" runat="server" datasourceid="AccessDataSourcel" AutoGenerateColumns="true" EmptyDataText="No data records were returned" /> <asp:AccessDataSource ID="AccessDataSourcel" Runat="server" selectcommand="Select * From Products" datafile="~/App_Data/Northwind.mdb" OnSelected="AccessDataSourcel_Selected" /> </form>
|
(4) 检查页面;在查看由Northwind售出的产品的时候,不应该出现问题。
(5) 现在将添加代码来处理连接问题了。转到页面的顶部并进入如下脚本。第一个示例用C#编写,第二个示例用VB编写。进入其中之一即可。
代码如下 | 复制代码 |
<%@ page language="C#" %> <script runat="server"> void AccessDataSourcel_Selected(object sender, SqlDataSourceStatusEventArgs e) //Optionally set GridViewl.Visible = false; e.ExceptionHandled = true; </script> |
数据库路径问题
在 Web.Config 中配置 Access 数据库驱动和数据库文件名称。
请看代码
代码如下 | 复制代码 |
<appSettings> <add key="DBDriver" value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source ="/> <add key="DBName" value="Company.mdb"/> </appSettings> |
在数据库访问层,如 OleDBHelper.cs 中获得 Access 数据库链接字符串。
代码如下 | 复制代码 |
/**//// <summary> /// 从Web.Config取得数据库联接字符串 /// </summary> //从配置文件中得到数据库名称 public static readonly string DBName = ConfigurationManager.AppSettings.Get("DBName").ToString(); //从配置文件中得到数据库驱动 public static readonly string DBDriver = ConfigurationManager.AppSettings.Get("DBDriver").ToString(); //得到数据库连接字符串 private static string DBConnectionString = DBDriver + HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath + "/App_Data/") + DBName; //建立数据库连接对象 private static OleDbConnection OleDbConn = new OleDbConnection(DBConnectionString); 这样设置后,无论在任何子目录,都能通过以上代码正确的访问数据库。
|
asp.net连接mssql数据库
.Net 连接MS SQL 数据库
代码如下 | 复制代码 |
string ConnectionString="workstation id="+hostname+";packet size=4096;user id="+username+";password="+password+";data source="+hostname+";persist security info=False;initial catalog="+databasename; SqlConnection Connection = new System.Data.SqlClient.SqlConnection(); this.Connection.Open(); System.Data.SqlClient.SqlCommand SelectCommand; SelectCommand= new System.Data.SqlClient.SqlCommand(); SelectCommand.CommandText = "select * from "+TableName; SelectCommand.Connection = this.Connection; System.Data.SqlClient.SqlDataReader dr= SelectCommand.ExecuteReader(); |
或这样写也行
代码如下 | 复制代码 |
SqlConnection sql = new SqlConnection(@"server=.sql2005;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test;Data Source=7085360CB900427"); try { sql.Open(); if (sql.State == ConnectionState.Open) label1.Text = "连接成功!"; } catch (SqlException S) { MessageBox.Show(S.Message); } |