2014-02-24 24 views
0

我想爲此數據庫進行搜索按鈕。我不確定我在這裏做錯了什麼。它給我的錯誤是System.NullReferenceException:未將對象引用設置爲對象的實例。這是關於字符串constring ..等,這是它突出顯示它紅色,反正。從asp.net中的訪問數據庫嘗試在gridview中的搜索按鈕不工作

所以,我讀了一篇關於訪問字符串連接的文章。我做了它所說的。我只是沒有看到我做錯了什麼。

代碼:

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(); 
      } 
     } 
    } 
} 
} 
+0

你從哪裏得到錯誤? –

+0

'.ConnectionStrings'需要連接字符串名稱或索引。 –

+0

@Hanlet什麼是一個例子? –

回答

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; 
+0

這也給出了一個錯誤。實際上是一樣的.. –

+0

@AndrewHeid:你在你的web.config文件中添加了連接字符串嗎? –

+0

@AndrewHeid:查看我編輯的答案 –