0

connectionStringを使用するテーブルdbo.MSreplication_optionsがあり、このテーブルをdatagrid1.DataSourceにマップしようとしています。

SqlConnection cnn;
SqlCommand con;
SqlDataAdapter da;
DataSet ds;

protected void Page_Load(object sender, EventArgs e)
{
    string strcon = ConfigurationManager.ConnectionStrings["masterConnectionString"].ConnectionString;

    cnn = new SqlConnection(strcon);
    con = new SqlCommand("select * from dbo.MSreplication_options");
    con.Connection = cnn;
    ds = new DataSet();
    da = new SqlDataAdapter(con);
    cnn.Open();
    da.Fill(ds);
    cnn.Close();
    DataGrid1.DataSource = ds.Tables[0].ToString();
}

Web構成

<connectionStrings>

    <add name="masterConnectionString" connectionString="Data Source=node39\SQLExpress;Initial Catalog=master;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

実行時にdatagrid1にマップされませんか?私はどのような特定の間違いをしていますか?

4

2 に答える 2

4

DataGrid1.DataSource = ds.Tables[0].ToString(); の後にこれを行います。

DataGrid1.DataBind()
于 2012-06-18T11:21:09.207 に答える
2

あなたは行方不明ですDataGrid1.DataBind();

これに加えて、Memory Management世話をされていません。

string strcon = ConfigurationManager.ConnectionStrings["masterConnectionString"].ConnectionString;
using (SqlConnection cnn = new SqlConnection(strcon))
{
    con = new SqlCommand("select * from dbo.MSreplication_options");
    con.Connection = cnn;
    using (DataSet ds = new DataSet())
    {
        da = new SqlDataAdapter(con);
        cnn.Open();
        da.Fill(ds);
        cnn.Close();
        DataGrid1.DataSource = ds.Tables[0].ToString();
        DataGrid1.DataBind();
    }
}
于 2012-06-18T11:27:35.057 に答える