これは @MSDN について読んでいた方法です。私の質問は、たとえば、ストアド プロシージャのクエリが、次のようにテーブルから選択する列を既に指定しているという事実を使用して、ストアド プロシージャでそれを使用したいかどうかです。
SELECT Columnsome, columnother, , , , ...FROM thisSQLdbTable
その特定の方法のアプローチを実装したいと思い ますが、SQL Server から Asp.net DataTable にデータを抽出するために利用できる「最良の方法」について行った小さな調査から、非常に進んでいるようです。
public static DataTable GetCustomerData(string dataSetName,
string connectionString)
{
DataTable table = new DataTable(dataSetName);
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT CustomerID, CompanyName, ContactName FROM dbo.Customers", connection);
DataTableMapping mapping = adapter.TableMappings.Add("Table", "Customers");
mapping.ColumnMappings.Add("CompanyName", "Name");
mapping.ColumnMappings.Add("ContactName", "Contact");
connection.Open();
adapter.FillSchema(table, SchemaType.Mapped);
adapter.Fill(table);
return table;
}
}
SP
または、選択した列を指定してクエリを実行している場合に使用する方法ではありませんか
列を選択/指定する必要がない場合、実際にそのストアドプロシージャを削除できます
ストアド プロシージャは特定の計算を実行し、計算結果でテーブルを更新します。更新されたテーブルから結果を選択するために「MODE」を切り替えます。
私がしたことはリサイクルです (; パラメーター (ビット型) ストアド プロシージャを指定し、提供されたbool
/bit
パラメーターの値を要求します。ステータスが true の場合は更新します (作成された元のタスクを実行します)
false の場合は選択操作を行っているので、2 つの別々のコマンドと同じように使用しています。
しかし今、私はデータベースからデータテーブルにデータを抽出するより良い方法を探しています
私は双方向SPをあきらめ、上記を提供するときに事前選択を行う現在のSPのように一緒に使用することを意図していない場合、上記の例を介して選択を行いますGetCustomersData()
.
したがって、問題は、関数に選択を行わせる必要がありますか、それとも、残りのタスクのみを実行し、その列のみをマップする方法で GetCustomersData() を使用して実装するために、SP の既製の選択を使用して提供できますか?事前選択された