command.parameters.addwithvalue无效

时间:2016-01-13 06:46:49

标签: c# npgsql

使用参数保存记录时遇到问题以下是我的代码

try
{
    string usd = "USR" + randomnumber(001, 1000).ToString();
    dbconn.poconne.Open();
    string useradd = "insert into users values(@userid,@username,@password,@email,@department,@log)";

    using (NpgsqlCommand cmdadd = new NpgsqlCommand(useradd, dbconn.poconne))
    {
        cmdadd.Parameters.AddWithValue("@userid", usd);
    }
}
catch (Exception er)
{
    MessageBox.Show(er.Message);
}

我收到此错误

  

错误1' Npgsql.NpgsqlParameterCollection'不包含   定义' AddWithValue'没有扩展方法' AddWithValue'   接受类型' Npgsql.NpgsqlParameterCollection'的第一个参数。   可以找到(你错过了使用指令或程序集   参考?)C:\ Users \ ICT PGL \ Documents \ Visual Studio   2010 \ Projects \ officeautomation \ customercare \ customercare \ users.cs 34 39 customercare

有关解决错误的任何帮助,请

1 个答案:

答案 0 :(得分:2)

您的查询:

string useradd = "insert into users (id, name, password, email, department, log) values(:userid,:username,:password,:email,:department,:log)";

您的参数:

cmd.Parameters.Add(new NpgsqlParameter("userid", NpgsqlTypes.NpgsqlDbType.Int));
cmd.Parameters.Add(new NpgsqlParameter("username", NpgsqlTypes.NpgsqlDbType.Text));
cmd.Parameters[0].Value = usd;
cmd.Parameters[1].Value = "username";

我只展示了两个参数。相应地添加其他参数。

最好指定要插入数据的列。