在使用VS 2008的ASP.NET中,我想使用ADO.Net连接到Microsoft SQL Server 这是我的连接字符串:
Data Source=.\SQLEXPRESS;AttachDbFilename=E:\JavaScript\App_Data\Database.mdf;Integrated Security=True;User Instance=True
这是我的代码:
OleDbConnection ocon = new OleDbConnection("Provider=SQLOLEDB;"+"Data Source=.\SQLEXPRESS;"+"AttachDbFilename=E:\JavaScript\App_Data\Database.mdf;"+"Integrated Security=True;"+"User Instance=True");
OleDbCommand ocom=new OleDbCommand();
OleDbDataAdapter oda=new OleDbDataAdapter();
protected void Page_Load(object sender, EventArgs e)
{
ocon.Open();
ocom.CommandText = "StoredProcedure1";
ocom.CommandType = CommandType.StoredProcedure;
ocom.Connection = ocon;
ocom.ExecuteReader();
ocon.Close();
}
运行此命令时,连接字符串中会出现错误。 那么如何使用ADO.net连接sqlserver数据库?
答案 0 :(得分:3)
使用System.Data.SqlClient.SqlConnection
,以及SqlCommand和其余的,而不是OleDb类。还要确保使用using
块来确保在完成连接后将连接返回到连接池。此外,Tom建议使用connectionstrings.com来确定SqlConnection对象的正确连接字符串是一个很好的建议。
using System.Data;
using System.Data.SqlClient;
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection(connectionString))
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "StoredProcedure1";
conn.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
// do stuff with the current row
}
}
}
}
答案 1 :(得分:1)
Connectionstrings.com是一个很好的资源。