1

我尝试使用下面的代码在数据列表中显示结果。当用户登录时,我尝试根据他们的 id 提取数据,但没有显示详细信息,这是我的代码:

string connn = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
SqlConnection con = new SqlConnection(connn);
con.Open();
string str = "select details,address 
              from tb_userdata 
              inner join tb_userlogin 
              on tb_userdata.uidfromtb1=tb_userlogin.id";
SqlCommand cmd = new SqlCommand(str, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);

谁能告诉我这段代码有什么问题?

4

1 回答 1

1

您的 SQL 查询缺少 WHERE 语句。您在查询中的内容应显示所有用户的详细信息,而不仅仅是该特定用户。

尝试这样的事情,只需更新添加参数值的部分

    string connn = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
    SqlConnection con = new SqlConnection(connn);
    con.Open();
    string str = "select details,address from tb_userdata inner join tb_userlogin on tb_userdata.uid=tb_userlogin.id WHERE tb_userlogin.uid = @UID";
    SqlCommand cmd = new SqlCommand(str, con);
    cmd.Parameters.Add(new SqlParameter("@UID", "retrieve UID somehow");
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    da.Fill(ds);

    con.Close();
    con.Dispose();
于 2013-09-22T19:38:04.467 回答