如何使用C#中的where子句检索特定值

时间:2016-04-13 10:25:56

标签: c# sql

我有两个表一个表名是tbl_itemMaster这里的属性是ItypeNo和Itype

和另一个表名是tbl_Items这里的属性是ItmNo,ItemName,Qty,Price和ItypeNos作为来自tbl_itemMaster的FK。

我从图3中选择项目类型并提供项目名称和价格然后单击添加按钮并将其保存在tbl_Item表中,并使用表格ItypeNo 3

这是我们的代码。此代码返回-1作为ItypeNo public int InsertItemsNo(receive recv)         {

        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.Text;

        cmd.Parameters.Add("USUsername", SqlDbType.VarChar).Value = recv.Itypes;
        cmd.CommandText = "SELECT ItypeNo FROM tbl_itemMaster WHERE Itype = @USUsername";

        int itemNo = Convert.ToInt32(conn.ExeNonQuery(cmd));

        return itemNo;


    }

1 个答案:

答案 0 :(得分:0)

如果要根据查询中WHERE子句中的参数获取ItypeNo的值,则应该这样做。

using( SqlConnection connectionSTringHere = new SqlConnection("DataSource=ServerInstanceHere;Initial Catalog=DatabaseName;Integrated Security=True"))
{
    int itemNo =0; //edited
         SqlCommand cmd = new SqlCommand("SELECT ItypeNo FROM tbl_itemMaster WHERE Itype = @USUsername",connectionSTringHere);

        cmd.Parameters.Add("@USUsername", SqlDbType.VarChar).Value = recv.Itypes;

        DataSet ds = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.fill(ds);
        foreach(DataRow dr in ds.Tables[0].Rows)
        {
            itemNo = Convert.ToInt32(dr["ItypeNo"].ToString());
        }
        return itemNo;
}

这假设您的数据库中的ItypeNo是一个整数。

已编辑:请将ServerInstance用于在SQL中登录时使用的任何内容

DatabaseName显然是您的数据库名称

尝试进一步阅读,不要在stackoverflow中询问所有内容