【发布时间】:2012-12-03 13:14:31
【问题描述】:
我在 mysql 中的 sql 命令有问题。我有一个 asp.net 应用程序并使用 mysql 数据库作为数据库。我想构建一个可以插入、更新、删除和选择数据库中记录的类。我有更新命令的问题。在 phpmyadmin 中它可以工作,但在我的课堂上不是:/
这是我的代码
public void UpdateRecord(string title, string firstname, string lastname, string company,
string timefrom, string timeto)
{
connection = new MySqlConnection();
try
{
MySqlCommand command = connection.CreateCommand();
//for testing
string sql = "UPDATE 'tb_gast' SET FIRSTNAME='test' WHERE ID=270";
command.CommandText = sql;
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception)
{
}
finally
{
connection.Close();
}
}
此命令在 phpmyadmin 中工作
UPDATE `tb_gast`
SET
FIRSTNAME='uu',
LASTNAME='uu',
COMPANY='uu'
WHERE ID=270
【问题讨论】:
-
我不确定(关于 MySQL),但尝试删除表名周围的单引号,例如。更新 tb_gast 集...
-
如果您删除那个空的
Catch(Exception){}块并让错误真正得到报告,那么所有“它不起作用”的 cmets 都会被更快地解决。然后,当你解决了问题......不要添加回来。因为,下次出现问题时,您还想知道实际的错误是什么,而不是让这个函数默默地失败。 -
在 catch 块中添加一个 MessageBox (Exception ex) -> ex.Message // 打印此消息并告诉我们错误
-
@Sunny - 这种方法的问题是(对于未知异常)您可能仍然没有提供足够的信息(例如,您正在丢弃内部异常和堆栈跟踪)。如果您不知道实际错误是什么,最好让异常逃逸并导致严重的丑陋崩溃(充满丰富的信息)。
标签: c# asp.net mysql sql database