本文介绍了InsertCommand.Parameters.Add datetime的size参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用以下语法了解DateTime值的大小参数:

  adapter.InsertCommand。 Parameters.Add( @ deliveryDateAndTime,SqlDbType.DateTime,10, deliveryDateAndTime); 

不能使用以下语法,因为我正在批量更新

  adapter.InsertCommand.Parameters.Add( @ deliveryDateAndTime,SqlDbType.DateTime); 
adapter.InsertCommand.Parameters [ @ deliveryDateAndTime] = * variable * .value;

以下是我需要使用的代码(为清楚起见,简称为)。请注意,在 adapter.InsertCommand.Parameters.Add( @ deliveryDateAndTime,SqlDbType.DateTime,10, deliveryDateAndTime); 语句中,第一参数是指相应的SQL参数,而第4 参数是与数据表中该值的数据相对应。

  DataTable dt = new DataTable(); 
foreach(fuelDelivery fd in fuelDelivery.FuelDeliveries)
{
DataRow dr = dt.NewRow();
dr [ deliveryDateAndTime] = fd.DeliveryDateAndTime;
dt.Rows.Add(dr);
}

使用(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings [ HHSqlConnection]。ToString()))
{
//创建一个SqlDataAdapter。
SqlDataAdapter适配器=新的SqlDataAdapter();

//设置INSERT命令和参数。
adapter.InsertCommand.Parameters.Add( @ deliveryDateAndTime,SqlDbType.DateTime,10, deliveryDateAndTime);
adapter.InsertCommand.UpdatedRowSource = UpdateRowSource.None;

//设置批量大小。零表示一次要更新的最大行数。
adapter.UpdateBatchSize = 0;

//执行更新。
int rowsUpdated = adapter.Update(dt);
}

基于 adapter.InsertCommand的重载。 Parameters.Add 方法,如何设置日期?

解决方案

根据易于搜索的文档,为8个字节。 / p>

请注意,您也可以使用首选的重载并单独设置源列:

  adapter.InsertCommand.Parameters.Add( @ deliveryDateAndTime,SqlDbType.DateTime)
.SourceColumn = deliveryDateAndTime;


I need to know what the size parameter should be for a DateTime value using the following syntax:

adapter.InsertCommand.Parameters.Add("@deliveryDateAndTime", SqlDbType.DateTime,10,"deliveryDateAndTime");

I cannot use the following syntax because I'm batching the updates in a datatable.

adapter.InsertCommand.Parameters.Add("@deliveryDateAndTime", SqlDbType.DateTime);
adapter.InsertCommand.Parameters["@deliveryDateAndTime"] = *variable*.value;

Below is the code I need to use (abbreviated for clarity). Note that inside the adapter.InsertCommand.Parameters.Add("@deliveryDateAndTime", SqlDbType.DateTime,10,"deliveryDateAndTime"); statement, the first parameter refers to a corresponding SQL parameter and the 4th parameter corresponds to the data for that value inside the datatable.

DataTable dt = new DataTable();
foreach (FuelDelivery fd in fuelDelivery.FuelDeliveries)
{
    DataRow dr = dt.NewRow();
    dr["deliveryDateAndTime"] = fd.DeliveryDateAndTime;
    dt.Rows.Add(dr);
}

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["HHSqlConnection"].ToString()))
{
    // Create a SqlDataAdapter.
    SqlDataAdapter adapter = new SqlDataAdapter();

    // Set the INSERT command and parameter.
    adapter.InsertCommand.Parameters.Add("@deliveryDateAndTime", SqlDbType.DateTime,10,"deliveryDateAndTime");
    adapter.InsertCommand.UpdatedRowSource = UpdateRowSource.None;

    // Set the batch size. Zero represents the maximum amt of rows to update at once.
    adapter.UpdateBatchSize = 0;

    // Execute the update.
    int rowsUpdated = adapter.Update(dt);
}

Based on this overload for the adapter.InsertCommand.Parameters.Add method, how can I set the date accordingly?

解决方案

A datetime is 8 bytes according to the easily searchable documentation.

Note that you could also use your preferred overload and set the source column separately:

adapter.InsertCommand.Parameters.Add("@deliveryDateAndTime", SqlDbType.DateTime)
                                .SourceColumn = "deliveryDateAndTime";

这篇关于InsertCommand.Parameters.Add datetime的size参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 11:00