0

我在 C# Visual Studio 2010 中创建了这个方法。ofd.Filename 实际上是硬盘驱动器上文件位置的路径。此方法连接到 MYSQL 数据库,效果很好。但是在 Postgresql 中,带有 @symbol 的变量 imagepath 根本不会被识别。实际上,错误消息是“找不到未知列 imagepath”,但 imagepath 是一个值,而不是数据库中的列。将@imagepath 括在单引号中不会传递ofd.FileName 的值,而是将文字传递到数据库中。有谁知道在 postgresql 中将变量值传递给数据库的方法?

string imagepath = ofd.FileName;
string connect = ("Server=localhost;Port=1006;Database=collegestudents;Uid=roberto;Pwd=****;");
MySqlConnection con = new MySqlConnection(connect);
string Query = ("UPDATE student SET studentpix = @imagepath WHERE pk_studentID = '?' OR pk_studentID = pk_studentID "); 
MySqlCommand cmd = new MySqlCommand(Query, con);
cmd.Parameters.AddWithValue("@imagepath",ofd.FileName);   
4

1 回答 1

0

对于 postgresql 参数以:and not为前缀@,试试这个

string Query = ("UPDATE student SET studentpix = :imagepath WHERE pk_studentID = '?' OR pk_studentID = pk_studentID "); 
MySqlCommand cmd = new MySqlCommand(Query, con);
cmd.Parameters.AddWithValue("imagepath",ofd.FileName);   
于 2013-05-20T16:09:47.033 回答