2014-02-24 2 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을 만들어야합니다.

<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 단계 :

구성 파일 web.config는 다음을 가져야한다 당신이 중 하나를 다음과 같이 이름을 그것의 인덱스를 사용하거나 그것으로는 위의 프로그램에서 ConnectionString 언급에 액세스해야합니다

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

또는

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

오류도 발생했습니다. 실제로 동일한 것 .. –

+0

@AndrewHeid : web.config 파일에 연결 문자열을 추가 했습니까? –

+0

@AndrewHeid : 편집 된 답변을 확인하십시오 –

관련 문제