2012-04-19 3 views
2

msdnからこの抽出を得ました MSDN COMMAND BUILDER CLASS です。すばやく挿入、更新、またはテーブルからの削除、または非効率的なASP.NETで使用することは問題ありませんか?SQLCommandBuilderの効率

public static DataSet SelectSqlRows(string connectionString, string queryString, string tableName) 
{ 
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 


     SqlDataAdapter adapter = new SqlDataAdapter(); 
     adapter.SelectCommand = new SqlCommand(queryString, connection); 
     SqlCommandBuilder builder = new SqlCommandBuilder(adapter); 

     connection.Open(); 

     DataSet dataSet = new DataSet(); 
     adapter.Fill(dataSet, tableName); 

     //code to modify data in DataSet here 

     builder.GetUpdateCommand(); 

     //Without the SqlCommandBuilder this line would fail 
     adapter.Update(dataSet, tableName); 

     return dataSet; 
    } 
} 

答えて

2

効率性に関してコードに問題はありません。 SQL Injectionを防ぐのに役立つクエリ文字列を直接実行するのではなく、ストアドプロシージャまたはパラメータ付きクエリを使用することをお勧めします。

参考:

http://www.dotnetperls.com/sqlparameter

0

実行するSQL文と同じくらい効率的です。