如何在SqlParameter中为数据类型位传递正确的对象值?

时间:2014-05-02 13:14:47

标签: c# sqlparameters

我试图仅在需要时(检查)传递一个比特值。

我该如何正确地做到这一点?我的数据集没有变化。 SQL Server 2008。

if (chkExpired.Checked)
    CmdGetDetails.Parameters.Add(new SqlParameter("@isExpired", 1));

4 个答案:

答案 0 :(得分:8)

bit指的是Boolean

所以你要在参数的值

中传递一个布尔值

前:

CmdGetDetails.Parameters.AddWithValue("isExpired", chkExpired.Checked); 

使用if块没有额外的需要。

答案 1 :(得分:4)

            param.ParameterName = "@isExpired";
            param.Value =chkExpired.Checked; 
            param.DbType = System.Data.DbType.Boolean;
            cmd.Parameters.Add(param);

答案 2 :(得分:1)

只需使用复选框(chkExpired.Checked)的值:

CmdGetDetails.Parameters.Add(new SqlParameter("@isExpired", chkExpired.Checked));

答案 3 :(得分:0)

你想要以任何方式添加参数,作为布尔值:

CmdGetDetails.Parameters.Add(new SqlParameter("@isExpired", chkExpired.Checked));