私が新しいプロジェクトを始めるにあたり、ベテランの C#/SQL 開発者が正しい方向に向かわせてくれるのではないかと思っています。私は MS Access/VBA の世界から来て、C#、SQL サーバー エクスプレス バックエンドを使用して市場データ システムを開発しようとしています。私の主な質問は、カスタム関数を操作する最良の方法は何ですか? access/vba では、udfs を記述して、新しい関数の作成を続行するために必要なだけ深くネストするのは簡単でした。C#/SQL では、C# で静的関数クラスを使用する必要がありますか? または @parameters を SQL に渡しますか? アプリケーションからデータベースを操作するのは簡単ではないように思えます。いつものように、事前に感謝します...
2 に答える
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 に答える
0
まず、次のような非常に一般的なパターンに従うことができます。
sql-server データベースに sql 関数を作成できます。これらはアプリケーションに対して何かを行うのではなく、単にデータに対して何かを行う (変換、計算など) ことを覚えておいてください。
パラメーターを受け入れるデータベース ストアド プロシージャを使用して、アプリケーションからデータベースにアクセスできます。ストアド プロシージャは、たとえば、アプリケーションやその他の DML にデータ セットを返すために使用するものです。
最後に、アプリケーション層に非データ関数/サブルーチンを含めることができます。例: send-email 関数、データベース ストアド プロシージャを呼び出す get_data 関数などがあるかもしれません。
それらが何であるか/それらの使用方法の詳細については、キーワードを検索してください。
stored procedure
udf, user defined function
tsql
sql-server
于 2011-08-04T00:48:52.440 に答える