Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按下按钮时显示网格中的详细信息_C#_Asp.net_Gridview - Fatal编程技术网

C# 按下按钮时显示网格中的详细信息

C# 按下按钮时显示网格中的详细信息,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个由人的细节组成的Gridview, 我还有一个文本框和搜索按钮,当我输入一个特定的人的名字时 它应该显示他自己的详细信息以及来自thr网格视图的标题 这是我的密码 protected void Button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(@"Data Source=ENTERKEY001;Initial Catalog=ThirdJanuaryDb;Integr

我有一个由人的细节组成的Gridview, 我还有一个文本框和搜索按钮,当我输入一个特定的人的名字时 它应该显示他自己的详细信息以及来自thr网格视图的标题

这是我的密码

protected void Button1_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(@"Data Source=ENTERKEY001;Initial Catalog=ThirdJanuaryDb;Integrated Security=True");//DataBase Connection

        con.Open();
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "SearchSp";
        cmd.Parameters.Add("@NAME", SqlDbType.VarChar).Value = TextBox4.Text.Trim();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        GridView1.DataBind();
        cmd.Connection = con;
        cmd.ExecuteNonQuery();
        con.Close();      
}

请帮帮我…

我发现有几件事不对

  • 绑定gridview后,可以使用
    ExecuteNonQuery
    执行查询。事实上,你什么都不绑。这里不需要
    ExecuteNonQuery
    ,因为我认为您的存储过程会返回一些数据,而不仅仅是执行
  • 使用
    ExecuteReader
    获取所有值并将其分配给
    DataSource
    属性

  • 作为一种最佳做法,使用来处理
    SqlConnection
    SqlCommand
    SqlDataReader


您不应该使用数据适配器,但下面是固定代码,它的工作原理如下:

SqlConnection con = new SqlConnection(@"Data Source=ENTERKEY001;Initial Catalog=ThirdJanuaryDb;Integrated Security=True");//DataBase Connection
        con.Open();
        try
        {
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "SearchSp";
            cmd.Parameters.AddWithValue("@NAME", TextBox4.Text.Trim());
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
        finally
        {
            con.Close();
        }

那么,到底是什么问题呢?您是否收到任何错误或异常消息?你能说得更具体点吗?我的代码是。。。con.Open();SqlCommand cmd=新的SqlCommand();cmd.CommandType=CommandType.storedProcess;cmd.CommandText=“SearchSp”;cmd.Parameters.Add(“@NAME”,SqlDbType.VarChar).Value=TextBox4.Text.Trim();SqlDataAdapter da=新的SqlDataAdapter(cmd);数据集ds=新数据集();da.填充(ds,“ss”);GridView1.DataSource=ds.Tables[“ss”];GridView1.DataBind();cmd.Connection=con;cmd.ExecuteNonQuery();con.Close();我的错误是..Fill:SelectCommand.Connection属性尚未初始化。放置上述代码时,它会给我一条错误消息,告诉我“DataSource和DataSourceID都是在“GridView1”上定义的。请删除一个定义。”这意味着已经存在与数据冲突的列。检查网格视图。它没有给我一个错误。它只是闪烁,网格上看不到任何东西。你可以给我一个存储过程的示例结果,我将修改代码以使用datareader,这是从数据库读取的正确方式。有两个表“ThirdJanuaryTable”和“SixthJanuaryTable”ALTER procedure[dbo]。[SearchSp]@NAME varchar(255)作为开始选择ThirdJanuaryTable.NAME,ThirdJanuaryTable.ID,ThirdJanuaryTable.ADDRESS,ThirdJanuaryTable.GENDER,SixthJanuaryTable.MOBILENO从ThirdJanuaryTable,SixthJanuaryTable中,其中NAME=@NAME end将上述代码放置在“DataValueField”和“DataTextField”上,并用红色下划线标记@AdhithAshok将其删除。
using(SqlConnection con = new SqlConnection(CnnStr))
using(SqlCommand cmd = con.CreateCommand())
{
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = "SearchSp";
    cmd.Parameters.Add("@NAME", SqlDbType.VarChar).Value = TextBox4.Text.Trim();
    using(SqlDataReader dr = cmd.ExecuteReader())
    {
       GridView1.DataSource = dr;
       GridView1.DataBind();
    }
}
SqlConnection con = new SqlConnection(@"Data Source=ENTERKEY001;Initial Catalog=ThirdJanuaryDb;Integrated Security=True");//DataBase Connection
        con.Open();
        try
        {
            SqlCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "SearchSp";
            cmd.Parameters.AddWithValue("@NAME", TextBox4.Text.Trim());
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
        finally
        {
            con.Close();
        }