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

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”的第一个参数
  可以找到(您是否缺少using指令或程序集
  参考?)C:\ Users \ ICT PGL \ Documents \ Visual Studio
  2010 \ Projects \ officeautomation \ customercare \ customercare \ users.cs 34 39客户服务


请协助解决错误

最佳答案

您的查询:

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";


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

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

07-24 21:35