【发布时间】:2015-11-04 16:45:58
【问题描述】:
我有一个关于 SQL 命令的问题。我似乎无法让 while 循环在“while(dr.read())”下运行。下面是我在 C# Windows 窗体中的示例代码。 谢谢。
cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM network";
MySqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
string datasource = dr[1].ToString();
string datadestination = dr[2].ToString();
if (source == datasource && destination == datadestination)
{
int newcounter;
newcounter = Convert.ToInt32(dr[4]) + 1;
cmd.CommandText = "UPDATE network set counter = @nnnewcounter";
cmd.Parameters.AddWithValue("@nnnewcounter", newcounter);
}
else
{
cmd.CommandText = "INSERT INTO network(source,destination,length,counter) VALUES (@sssource,@dddestination,@lllength,@cccounter)";
cmd.Parameters.AddWithValue("@sssource", source);
cmd.Parameters.AddWithValue("@dddestination", destination);
cmd.Parameters.AddWithValue("@lllength", length);
cmd.Parameters.AddWithValue("@cccounter", 1);
}
}
【问题讨论】:
-
错误?尝试放置断点?退出循环?
-
你有没有遇到异常,f.e.您必须打开连接吗?
-
不是错误也不是异常,只是数据库中没有插入数据
-
查找错误的最佳方法是放置断点..
-
我不知道如何使用断点sry
标签: c# sql winforms while-loop