Có lẽ tôi sử dụng các truy vấn trực tiếp để lấy các bản ghi từ một bảng và cũng được lưu trữ thủ tục một số lần. Tôi đề cập đến các loại lệnh như CommandType.StoredProcedure trong khi sử dụng SP. Ngoài ra, tôi thấy một tùy chọn khác có tên CommandType.Tabledirect, đã tìm kiếm một số nơi khác, nhưng không rõ ràng về nó. Bất kỳ ai có thể giúp tôi để có được ý tưởng về nó? Vui lòng cho tôi một số mã mẫu.Mục đích của việc sử dụng CommandType.Tabledirect
25
A
Trả lời
33
CommandType chứa tên chỉ định cách chuỗi được diễn giải.
CommandType.Text
cho lệnh văn bản SQL. (Mặc định.)CommandType.StoredProcedure
để biết tên của quy trình được lưu trữ.CommandType.TableDirect
cho tên 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ả lại khi bạn gọi một trong các phương pháp Thực thi.
LƯU Ý: BảngDirect chỉ được Nhà cung cấp dữ liệu .NET Framework hỗ trợ cho OLE DB. Truy cập nhiều bảng không được hỗ trợ khi CommandType được đặt thành TableDirect.
dụ mẫu nó như thế nào là đượ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();
Insert/Update
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));
}
Các vấn đề liên quan
- 1. Mục đích của việc sử dụng FrameworkElementFactory
- 2. Mục đích của việc xây dựng chuỗi?
- 3. Mục đích của việc sử dụng tham chiếu đến tham chiếu trong C++ là gì?
- 4. mục đích của việc sử dụng Intent.createChooser() trong startActivity() trong khi gửi email trong Android
- 5. Mục đích của việc sử dụng OPTION (MAXDOP 1) trong SQL Server là gì?
- 6. Mục đích của việc sử dụng thư viện Boost.MPI là gì?
- 7. Mục đích của việc sử dụng System.img trong Android là gì?
- 8. Mục đích của việc sử dụng Function.call.apply trong JavaScript là gì?
- 9. Mục đích của IEnumerator
- 10. Mục đích của ActionName
- 11. Mục đích của việc ràng buộc đặt tên là
- 12. Sử dụng ConnectBot với mục đích
- 13. Mục đích sử dụng là gì?
- 14. C++ Mục đích của việc truyền là gì?
- 15. Mục đích của việc chia cho 1 javascript
- 16. Mục đích của việc hack JavaScript này là gì?
- 17. Mục đích của Mage_Core_Block_Template_Facade
- 18. Mục đích của Monitor.Pulse
- 19. mục đích của glClear (GL_DEPTH_BUFFER_BIT)
- 20. Mục đích của Ext.require
- 21. Mục đích của \ e
- 22. Mục đích của việc tuần tự hóa trong ứng dụng web
- 23. Khi thực hiện các con trỏ chức năng mục đích của việc sử dụng toán tử địa chỉ so với việc không sử dụng nó là gì?
- 24. Mục đích của việc khởi chạy hình ảnh trong ứng dụng iOS là gì?
- 25. Mục đích của thư mục buildSrc của gradle là gì?
- 26. Mục đích của Python __repr__
- 27. Mục đích Android của Facebook
- 28. Mục đích của /var/resource_config.json
- 29. Mục đích của XMLString :: transcode
- 30. Mục đích của việc sử dụng "aria-labelledby" trên các yếu tố đầu vào đã được dán nhãn?
Có thể, để thực hiện Update/Insert/Xóa hành động qua TableDirect.if có, có thể bạn cũng có bài mã của nó. –
Tôi vừa cập nhật câu trả lời của mình .. @ faheemkhan –
Cảm ơn, tôi sẽ xem lại. –