Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Mục đích của việc sử dụng CommandType.Tabledirect là gì

CommandType chứa các tên chỉ định cách diễn giải chuỗi lệnh.

  1. CommandType.Text cho một lệnh văn bản SQL. (Mặc định.)
  2. CommandType.StoredProcedure cho tên của một thủ tục được lưu trữ.
  3. CommandType.TableDirect cho tên của bảng .

Tất cả các hàng và cột của bảng được đặt tên sẽ được trả về khi bạn gọi một trong các phương thức Thực thi.

LƯU Ý: TableDirect chỉ được hỗ trợ bởi Nhà cung cấp dữ liệu .NET Framework cho OLE DB . Nhiều quyền truy cập bảng không được hỗ trợ khi CommandType được đặt thành TableDirect .

Ví dụ mẫu về cách nó được sử dụng:

OleDbConnection myOleDbConnection =new OleDbConnection("provider=sqloledb;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI");
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();

myOleDbCommand.CommandType = CommandType.TableDirect;

myOleDbCommand.CommandText = "Employee";

myOleDbConnection.Open();

OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();

for (int count = 1; count <= 2; count++)
{
  myOleDbDataReader.Read();
  Console.WriteLine("myOleDbDataReader[\" ID\"] = " +
    myOleDbDataReader["ID"]);
  Console.WriteLine("myOleDbDataReader[\" FirstName\"] = " +
    myOleDbDataReader["FirstName"]);
  Console.WriteLine("myOleDbDataReader[\" LastName\"] = " +
    myOleDbDataReader["LastName"]);
}
myOleDbDataReader.Close();
myOleDbConnection.Close();

Chèn / Cập nhật

        try
        {
            using (SqlCeCommand command = conn.CreateCommand())
            {
                command.CommandText = "Holdings";
                command.CommandType = CommandType.TableDirect;
                using (SqlCeResultSet rs = command.ExecuteResultSet(ResultSetOptions.Updatable | ResultSetOptions.Scrollable))
                {
                    SqlCeUpdatableRecord record = 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("Price", 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(record);
                    }
                }

            }

        }
        catch (Exception e)
        {
            NotifyError(this, new ImportErrorEventArgs(e.Message + e.StackTrace, ErrorLevel.Application));
        }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các tính năng Dữ liệu Không gian của SQL Server 2008 có hữu ích cho việc ánh xạ các truy vấn không?

  2. Lệnh tùy chỉnh SQL bởi

  3. GUID:varchar (36) so với uniqueidentifier

  4. XML dưới dạng tham số trong thủ tục được lưu trữ (máy chủ sql)

  5. Truy vấn SQL Server để tìm tất cả các quyền / quyền truy cập cho tất cả người dùng trong cơ sở dữ liệu