尝试从asp.net中的访问数据库中的gridview中的搜索按钮不起作用

时间:2014-02-24 03:10:02

标签: c# asp.net ms-access

我正在尝试为此数据库创建搜索按钮。我不确定我在这里做错了什么。它给我的错误是System.NullReferenceException:对象引用未设置为对象的实例。这是关于字符串constring ..等等。无论如何,它是用红色突出显示的地方。

所以,我读了一篇关于访问字符串连接的文章。我做了它说的话。我只是没有看到我做错了什么。

代码:

public partial class StudentView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        BindGrid();
    }
}
protected void Button1_Click(object sender, EventArgs e)
{
    this.BindGrid();
}
private void BindGrid()
{
    string path = "C:\\Users\\Andrew James Heid\\Desktop\\12\\App_Code\\University       DB.accdb";

    string conString =   ConfigurationManager.ConnectionStrings["Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path].ConnectionString;

    string query = "SELECT * FROM Students";
    string id = TextBox1.Text.Trim();
    if (!string.IsNullOrEmpty(id))
    {
        id = string.Format(" where ID = '{0}'", id);
    }
    SqlCommand cmd = new SqlCommand(query + id);
    using (SqlConnection con = new SqlConnection(conString))
    {
        using (SqlDataAdapter sda = new SqlDataAdapter())
        {
            cmd.Connection = con;
            sda.SelectCommand = cmd;
            using (DataSet ds = new DataSet())
            {
                sda.Fill(ds);
                GridView1.DataSource = ds;
                GridView1.DataBind();
            }
        }
    }
}
}

1 个答案:

答案 0 :(得分:2)

问题:您正在尝试访问不存在或无效的ConnectionString

解决方案: <ConnectionStrings>由配置文件维护,您需要先设置它们,然后从程序中访问它。

第1步:您需要在配置文件中创建ConnectionString

您的配置文件web.config应具有以下内容:

<connectionStrings>
<add name="MyConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Andrew James Heid\Desktop\12\App_Code\University DB.accdb"/>
</connectionStrings>

第2步:您需要通过使用索引或其名称从您的程序访问上述ConnectionString,如下所示:

string conString = ConfigurationManager.ConnectionStrings[0].ConnectionString;

OR

string conString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;