我需要使用以下语法知道DateTime值的size参数:
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参数,而第四个参数对应于该内部该值的数据数据表。
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);
}
根据adapter.InsertCommand.Parameters.Add
方法的此重载,如何相应地设置日期?
答案 0 :(得分:4)
根据易于搜索的文档,datetime为8个字节。
请注意,您还可以使用首选重载并单独设置源列:
adapter.InsertCommand.Parameters.Add("@deliveryDateAndTime", SqlDbType.DateTime)
.SourceColumn = "deliveryDateAndTime";