0

我想知道当我开始一个新项目时,是否有任何经验丰富的 C#/SQL 开发人员可以帮助我朝着正确的方向前进。我来自 MS Access/VBA 世界,我正在尝试使用 C#、SQL server express back= end 开发一个市场数据系统。我的主要问题是使用自定义函数的最佳方式是什么?在 access/vba 中,编写 udf 很简单,然后将它们嵌套到我需要的深度以继续创建新函数。那么在 C#/SQL 中,我应该在 C# 中有一个静态函数类吗?或者将@parameters 传递给SQL?从我的应用程序中使用数据库对我来说似乎并不简单。一如既往地提前感谢...

4

2 回答 2

0

首先,您可能会遵循一个非常常见的模式,即:

您可以在 sql-server 数据库中创建您的 sql 函数。请记住,这些不会对您的应用程序做任何事情——它们只是对数据做一些事情(例如转换、数学等)

您可以使用接受参数的数据库存储过程从应用程序访问您的数据库。例如,您将使用存储过程将数据集返回到您的应用程序或任何其他 DML。

最后,您可以在应用程序层中拥有非数据函数/子函数。例如:您可能有一个发送电子邮件函数、调用数据库存储过程的 get_data 函数等。

查找关键字以获取有关它们是什么/如何使用它们的更多信息。

stored procedure
udf, user defined function
tsql
sql-server
于 2011-08-04T00:48:52.440 回答
0

将存储过程添加到数据库表后,您可以像这样在 C# 中简单地调用它:

using System.Data.SqlClient;

private void DoSomething(string storedProcedure, string tableName)
{
 using (var conn = new SqlConnection(ConnectionString))
 {
  conn.Open();
  var cmd = new SqlCommand(storedProcedure, conn) { CommandType = CommandType.StoredProcedure };
  cmd.Parameters.Add(new SqlParameter("@tablename", SqlDbType.NVarChar, 80));
  cmd.Parameters["@tablename"].Value = tableName;
  cmd.ExecuteNonQuery();
 }
}
于 2011-08-04T01:43:11.640 回答