2

Visual StudioからのSQLコマンドの実行について質問があります。それほど短くないプロシージャがいくつかあるので、コマンドタイプのテキストで実行してstringbuilderで記述するとドラッグになります。プロジェクトに保存されている.sqlファイルに書き込むことにしましたが、よくわかりません。作成されたプロシージャがある場合と同様に、一度作成する必要があると思いますが、後で他の何かのために呼び出す方法など、ユーザーがクリックしたときにさまざまなパラメータを使用して呼び出す必要があります。それについてのチュートリアルや例はありますか?
何かのようなもの

FileInfo file = new FileInfo(@"\\ares\c$\Inetpub\wwwroot\TestArea\SQL\testsql.sql");


        string script = file.OpenText().ReadToEnd();


        using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["WhatIfDatabaseConnectionString"].ConnectionString))
        {
              SqlCommand sqlCmd = new SqlCommand(script, conn);
              sqlCmd.ExecuteNonQuery(script);

しかし、パラメータを使用します。

4

2 に答える 2

0
SqlCommand cmd = new SqlCommand();

cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "CRUD_myproc";

cmd.Parameters.Add("@flag", SqlDbType.Char).Value = 'a';
cmd.Parameters.Add("@type", SqlDbType.Int).Value = cmbBuildingType.SelectedIndex;

cmd.ExecuteNonQuery();

したがって、SQLで「CRUD_myproc」という名前のprocを作成する必要があります。これがあなたに少し役立つことを願っています

于 2013-01-19T10:36:25.073 に答える
0

あなたは正しい方向に進んでいます。個人的には、SQLファイルをキャッシュし、最終更新日をチェックするファクトリがありますが、それはあなたがしていることを実行しています。

string script = File.ReadAllText(_serverPath + sqlName + ".sql");
using (SqlConnection conn = new SqlConnection(ConnString))
{
    conn.Open();
    using (SqlCommand sqlCmd = new SqlCommand(script, conn))
    {
        sqlCmd.CommandType = CommandType.Text;
        sqlCmd.Parameters.AddWithValue("@CompanyGuid", CompanyGuid);
        sqlCmd.ExecuteNonQuery();
    }
}

次に、パラメータの前に@記号が付いたSQLテキストファイルがあります。

SELECT * FROM tblCompany WHERE CompanyGuid = @CompanyGuid
于 2016-04-19T08:49:00.707 に答える