如何使用inset查询进行循环 [英] how to use for loop with inset query
问题描述
int count = Convert.ToInt16(ddlvehicles.SelectedValue);
for (int i = 2; i <= count; i++)
{
cmd.Parameters.Clear();
cmd.CommandText = "usp_booking_insert";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@user_id", ddluname.SelectedValue);
cmd.Parameters.AddWithValue("@journey_place", txtjplace.Text);
cmd.Parameters.AddWithValue("@pickup_date", txtpickup_daterri.Text);
cmd.Parameters.AddWithValue("@pickup_address", txtpickup_address.Text);
cmd.Parameters.AddWithValue("@return_date", txtreturndate.Text);
cmd.Parameters.AddWithValue("@return_address", txtreturn_address.Text);
cmd.Parameters.AddWithValue("@service_id", ddlsname.SelectedValue);
cmd.Parameters.AddWithValue("@vehicle_id", ddlvehicles.SelectedValue);
cmd.Parameters.AddWithValue("@vtype_ac_nonac", ddlvtype1.SelectedValue);
cmd.Parameters.AddWithValue("@vrate_km_day", ddlrate1.SelectedValue);
cmd.Parameters.AddWithValue("@mode_of_payment", rdbtnpayment.SelectedItem.ToString());
int vid = Convert.ToInt16(((DropDownList)mvbooking.Views[0].FindControl("ddlvehicles1" + i+1)).SelectedValue);
string vtype = ((DropDownList)mvbooking.Views[0].FindControl("ddlvtype1" + i+1)).SelectedValue;
string vrate = ((DropDownList)mvbooking.Views[0].FindControl("ddlvrate1" + i+1)).SelectedValue;
dis是我的插入查询。我想添加车辆,他们被选中。我尝试使用for循环像dis ..但它不工作有一个错误对象引用未设置为对象的实例。在int vid = ...;中line
帮帮我plz
dis is my insert query. bt i want to add vehicle upto they are selected. i tried using for loop like dis.. but it is not working there is an error of "Object reference not set to an instance of an object." in "int vid=...;" line
help me plz
推荐答案
首先,请阅读:系统nullreferenceexception的3个常见原因(对象引用未设置为对象的实例) [ ^ ]
其次,如果你使用:
First of all, read this: 3 common causes of system nullreferenceexception (object reference not set to an instance of an object)[^]
Second, if you use:
int count = Convert.ToInt16(ddlvehicles.SelectedValue);
你怎么能认为下面的代码会正确执行,特别是在时我
大于 count
?
how can you excepect that below code will execute correctly, especially when i
is bigger then count
?
string vtype = ((DropDownList)mvbooking.Views[0].FindControl("ddlvtype1" + i+1)).SelectedValue;
三,你要转换 i + 1
到字符串表达式。尝试使用: Int32.ToString方法 [ ^ ]或 Convert.ToString方法 [ ^ ]。
Third, you want to convert i + 1
to string expression. Try to use: Int32.ToString Method[^] or Convert.ToString method[^].
int count = Convert.ToInt16(ddlvehicles.SelectedValue);
for (int i = 1; i <= count; i++)
{
cmd.Parameters.Clear();
cmd.CommandText = "usp_booking_insert";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@user_id", ddluname.SelectedValue);
cmd.Parameters.AddWithValue("@journey_place", txtjplace.Text);
cmd.Parameters.AddWithValue("@pickup_date", txtpickup_daterri.Text);
cmd.Parameters.AddWithValue("@pickup_address", txtpickup_address.Text);
cmd.Parameters.AddWithValue("@return_date", txtreturndate.Text);
cmd.Parameters.AddWithValue("@return_address", txtreturn_address.Text);
cmd.Parameters.AddWithValue("@service_id", ddlsname.SelectedValue);
cmd.Parameters.AddWithValue("@mode_of_payment", rdbtnpayment.SelectedItem.ToString());
int vid = Convert.ToInt16(((DropDownList)mvbooking.Views[0].FindControl("ddlvnameri" + i)).SelectedValue);
string vtype = ((DropDownList)mvbooking.Views[0].FindControl("ddlvtype" + i)).SelectedValue;
string vrate = ((DropDownList)mvbooking.Views[0].FindControl("ddlrate" + i)).SelectedValue;
cmd.Parameters.AddWithValue("@vehicle_id",vid);
cmd.Parameters.AddWithValue("@vtype_ac_nonac", vtype);
cmd.Parameters.AddWithValue("@vrate_km_day", vrate);
}
Thanx所有人为你的合作伙伴操作..但我解决了它
Thanx everyone for your co-operation.. but i solved it
这篇关于如何使用inset查询进行循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!