如何使用ADO.Net连接数据库?

时间:2011-07-08 06:00:54

标签: .net asp.net ado.net

在使用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数据库?

2 个答案:

答案 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是一个很好的资源。