【发布时间】:2012-12-17 20:39:21
【问题描述】:
我有fol代码
string user = "new user";
DataSet myDS = new DataSet();
string sql = string.Format("Select Counter,Occupants From Rooms where Room = '{0}'",room);
SqlDataAdapter dAdapt = new SqlDataAdapter(sql, cnn);
dAdapt.Fill(myDS, "Rooms");
foreach (DataTable dt in myDS.Tables)
{
int var =(int) dt.Rows[0].ItemArray[0];
var--;
dt.Rows[0].ItemArray[0] = var;
String occups = dt.Rows[0].ItemArray[1].ToString();
occups += user;
dt.Rows[0].ItemArray[1] = occups;
}
dAdapt.Update(myDS,"Rooms");
我正在检索包含两列的单行 - 计数器(小 int 类型)和占用者(文本类型)。我收到一条错误消息,指出 数据类型 text 和 var char 在 equal to 运算符中不兼容 但错误指向 dAdapt.Fill(myDS, "Rooms"); 行,这很奇怪。这里有什么问题?而且我很确定数据库连接是打开的,因为我通过打印连接状态进行了检查。
【问题讨论】:
-
除非您为
DataAdaper指定了Update-Command,否则这无论如何都行不通。 -
@TimSchmelter 你能告诉我怎么做吗?
-
Room 的类型是什么,它似乎也有文本类型,这就是为什么选择在 .Fill 上消失的原因
标签: c# sql-server dataset dataadapter