c# - 验证 SQL 在 WebMatrix/Razor 中是否正确执行?

标签 c# sql sql-server database webmatrix

我正在尝试验证我的 SQL 是否已正确执行,如果未正确执行,则返回错误。

我的代码:

 var db = Database.Open("database");
            db.Execute("INSERT INTO Users(Username, Email, FirstName, SecondName) VALUES(?,?,?,?)", username, email, firstName, secondName);

此外,如何使用 WebMatrix 将列标记为唯一?这似乎是我真正缺少的一个非常基本的功能!我想让电子邮件和用户名必须是唯一的,但我看不到任何方法可以做到这一点?我本质上希望测试 INSERT INTO 是否可以执行(即数据库中没有相同的电子邮件/用户名)。

感谢您的帮助。

最佳答案

对于你的第一个问题:

Execute 方法返回受影响的记录数,并且您的代码片段正在执行插入操作,因此如果失败,它将返回一个不等于 1 的值。

var db = Database.Open("database");
if (db.Execute("INSERT INTO Users(Username, Email, FirstName, SecondName) VALUES(?,?,?,?)", username, email, firstName, secondName) < 1)
   throw new Exception("Wasn't able to insert User record");

第二个,我不确定,但可能应该在一个单独的问题中提出。

关于c# - 验证 SQL 在 WebMatrix/Razor 中是否正确执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651952/

相关文章:

.net - .NET 十进制到 SQL Server 十进制的良好映射是什么?

c# - 如何验证 C# 中的消息框弹出窗口?

c# - 如何使用 .net 下载部分网页

c# - 调用 C# COM 组件时在 javascript 中键入不匹配错误

sql - 如何在ORACLE中显示包中的功能代码?

mysql - 在查询中将java时间转换为sqldate

c# - C++ 转换为 C#

mysql - 如何分组显示每类数据的计数?

sql - 如何获取上个月数据和本月至今数据

sql-server - 选择全部作为多值参数的默认值