在您的C#源代码或存储过程中保留SQL有哪些优点/缺点?我一直在与一位朋友讨论我们正在开发的一个开源项目(C#ASP.NET论坛).目前,大多数数据库访问都是通过在C#中构建SQL内联并调用SQL Server DB来完成的.所以我试图确定哪个特定项目最好.
到目前为止,我有:
代码中的优点:
存储过程的优点:
我试图将数据输入我的数据库,但它给我以下错误:
列名无效
这是我的代码
string connectionString = "Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=AddressBook;Server=Bilal-PC";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT INTO Data (Name,PhoneNo,Address) VALUES (" + txtName.Text + "," + txtPhone.Text + "," + txtAddress.Text + ");";
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
connection.Open();
cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud) 如果我有一个名为"Categories" science,maths,english的列,如下所示,以逗号分隔的行显示,如何匹配包含类别的所有行maths?
我尝试过一个简单的LIKE但是不太准确,因为搜索时可能会有'poo_science' '%science%'会匹配两者.
我查看了StackOverflow并且有很多类似的问题但是所有人似乎都希望将数据作为逗号分隔列表或其他东西返回 - 这不是我所追求的.
我不想使用存储过程,也不能使用全文搜索.我有一个我使用的存储过程,('$')在每个值周围添加了另一个字符,然后搜索'$value$'...这是太讨厌了吗?我采用了一种更简单的方法.