sql >> データベース >  >> RDS >> Sqlserver

CommandType.Tabledirect を使用する目的は何ですか

    CommandType コマンド文字列の解釈方法を指定する名前が含まれています。

    <オール>
  1. CommandType.Text SQL テキスト コマンドの場合。 (デフォルト)
  2. CommandType.StoredProcedure ストアド プロシージャの名前。
  3. CommandType.TableDirect テーブルの名前 .
  4. いずれかの Execute メソッドを呼び出すと、名前付きテーブルのすべての行と列が返されます。

    注:TableDirect OLE DB の .NET Framework Data Provider でのみサポートされています . CommandType が TableDirect に設定されている場合、複数のテーブル アクセスはサポートされません .

    使用例:

    OleDbConnection myOleDbConnection =new OleDbConnection("provider=sqloledb;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");OleDbCommand myOleDbCommand =myOleDbConnection.CreateCommand();myOleDbCommand.CommandType =CommandType.TableDirect;myOleDbCommand.CommandText ="従​​業員";myOleDbConnection.Open();OleDbDataReader myOleDbDataReader =myOleDbCommand.ExecuteReader();for (int カウント =1; カウント <=2; カウント++){ myOleDbDataReader.Read(); Console.WriteLine("myOleDbDataReader[\" ID\"] =" + myOleDbDataReader["ID"]); Console.WriteLine("myOleDbDataReader[\" FirstName\"] =" + myOleDbDataReader["FirstName"]); Console.WriteLine("myOleDbDataReader[\" LastName\"] =" + myOleDbDataReader["LastName"]);}myOleDbDataReader.Close();myOleDbConnection.Close();  

    挿入/更新

     try { using (SqlCeCommand command =conn.CreateCommand()) { command.CommandText ="Holdings"; command.CommandType =CommandType.TableDirect; using (SqlCeResultSet rs =command.ExecuteResultSet(ResultSetOptions.Updatable | ResultSetOptions.Scrollable)) { SqlCeUpdatableRecord レコード =rs.CreateRecord(); foreach (var r in _commitBatch) { int index=0; record.SetValue(index++, r.TryGetValueOrDefault("IdentifierFromImportSource",string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("SecurityID", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("SecurityName", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("SecurityType", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("AllocationAmount", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("Position", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("AnnualFeePercent", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("MarginAmount", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("価格", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("MorningstarSecId", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("MorningstarSecType", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("UserID", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("MorningstarPrice", string.Empty)); record.SetValue(index++, string.Empty); record.SetValue(index++, r.TryGetValueOrDefault("AnnualFeeFrequency", string.Empty)); record.SetValue(index++, r.TryGetValueOrDefault("TrackingMethod", "1")); rs.Insert(レコード); } } } catch (Exception e) { NotifyError(this, new ImportErrorEventArgs(e.Message + e.StackTrace, ErrorLevel.Application)); }  


    1. PostgreSQLですべての単語の最初の文字を大文字にする方法

    2. MySQLで当月の1日と当日のどちらかを選択するにはどうすればよいですか?

    3. LinuxからのSQLServerBULK INSERT

    4. PostgreSQLで静的Qt5.10.0をコンパイル中にエラーが発生しました