具体方法
asp.net连接access代码
代码如下 |
复制代码 |
<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
|
连接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>
</body></html>
|
(4) 检查页面;在查看由Northwind售出的产品的时候,不应该出现问题。
(5) 现在将添加代码来处理连接问题了。转到页面的顶部并进入如下脚本。第一个示例用C#编写,第二个示例用VB编写。进入其中之一即可。
代码如下 |
复制代码 |
<%@ page language="C#" %>
<script runat="server">
void AccessDataSourcel_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
if (e.Exception != null)
{
if(e.Exception.GetType()==typeof(System.Data.OleDb.OleDbException))
{
Message.Text = "There was a problem opening a connection to the
database. Please contact the system administrator for this site.";
//Optionally set GridViewl.Visible = false;
e.ExceptionHandled = true;
}
}
}
</script>
<html>
|
数据库路径问题
在 Web.Config 中配置 Access 数据库驱动和数据库文件名称。
请看代码
在数据库访问层,如 OleDBHelper.cs 中获得 Access 数据库链接字符串。
代码如下 |
复制代码 |
/**////
/// 从Web.Config取得数据库联接字符串
///
//从配置文件中得到数据库名称
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();
Connection.ConnectionString=ConnectionString;
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);
}
finally
{
sql.Close();
sql.Dispose();
}
|