C#winform程序运行出现错误 15
privatevoidbutton2_Click(objectsender,EventArgse){try{con.Open();if(this.Class_Type.T...
private void button2_Click(object sender, EventArgs e)
{
try
{
con.Open();
if (this.Class_Type.Text.Trim() == "头等舱")
{
sit ="select First_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
price = "select First_Price from Air where Air_ID='" + this.Air_ID.Text + "'";
int a = Convert.ToInt32(sit);//出现字符串输入错误
a--;
if (a< 0)
{
MessageBox.Show("余票为0!!!");
}
else
{
string str2 = "update Air set First_Class ='" + a.ToString() + "' where Air_ID='" + this.Air_ID.Text.Trim() + "',";
}
}
else if (this.Class_Type.Text.Trim() == "经济舱")
{
sit = "select Economy_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
price = "select Economy_Price from Air where Air_ID='" + this.Air_ID.Text + "'";
int a = Convert.ToInt32(sit);
a--;
if (a< 0)
{
MessageBox.Show("余票为0!!!");
}
else
{
string str2 = "update Air set Economy_Class='" + a.ToString() + "' where Air_ID='" + this.Air_ID.Text.Trim() + "',";
}
}
float c = float.Parse(price);
discount = "select Discount from Air where Air_ID='" + this.Air_ID.Text + "'";
float b = float.Parse(discount);
int d =(int)( c * b);
string str = "insert into BookMsg(User_ID,Air_ID,Air_Type,From_Add,To_Add,Air_Date,Air_Time,Class_Type)values('" + this.label12.Text.Trim() + "','" + this.Air_ID.Text.Trim() + "','" + this.Class_Type.Text.Trim() + "','" + this.From_Add2.Text.Trim() + "','" + this.From_Add2.Text.Trim() + "','" + this.To_Add2.Text.Trim() + "','" + this.Date2.Text.Trim() + "','" + this.Air_Time.Text.Trim() + "','" + this.Class_Type.Text.Trim() + "')";
adoObject.ExecuteCommand(str);
Form7 booking = new Form7();
this.Hide();
booking.Show();
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
finally
{
con.Close();
}
} 展开
{
try
{
con.Open();
if (this.Class_Type.Text.Trim() == "头等舱")
{
sit ="select First_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
price = "select First_Price from Air where Air_ID='" + this.Air_ID.Text + "'";
int a = Convert.ToInt32(sit);//出现字符串输入错误
a--;
if (a< 0)
{
MessageBox.Show("余票为0!!!");
}
else
{
string str2 = "update Air set First_Class ='" + a.ToString() + "' where Air_ID='" + this.Air_ID.Text.Trim() + "',";
}
}
else if (this.Class_Type.Text.Trim() == "经济舱")
{
sit = "select Economy_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
price = "select Economy_Price from Air where Air_ID='" + this.Air_ID.Text + "'";
int a = Convert.ToInt32(sit);
a--;
if (a< 0)
{
MessageBox.Show("余票为0!!!");
}
else
{
string str2 = "update Air set Economy_Class='" + a.ToString() + "' where Air_ID='" + this.Air_ID.Text.Trim() + "',";
}
}
float c = float.Parse(price);
discount = "select Discount from Air where Air_ID='" + this.Air_ID.Text + "'";
float b = float.Parse(discount);
int d =(int)( c * b);
string str = "insert into BookMsg(User_ID,Air_ID,Air_Type,From_Add,To_Add,Air_Date,Air_Time,Class_Type)values('" + this.label12.Text.Trim() + "','" + this.Air_ID.Text.Trim() + "','" + this.Class_Type.Text.Trim() + "','" + this.From_Add2.Text.Trim() + "','" + this.From_Add2.Text.Trim() + "','" + this.To_Add2.Text.Trim() + "','" + this.Date2.Text.Trim() + "','" + this.Air_Time.Text.Trim() + "','" + this.Class_Type.Text.Trim() + "')";
adoObject.ExecuteCommand(str);
Form7 booking = new Form7();
this.Hide();
booking.Show();
}
catch (Exception e1)
{
MessageBox.Show(e1.Message);
}
finally
{
con.Close();
}
} 展开
5个回答
展开全部
sit ="select First_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
你的意思是想记录通过这个语句返回的几条数据,但是你不能直接的强转,这样是转换不了的。
你可以写一个类 例如public int GetSqlResult(sit)
{
连接数据库;
用sit进行查询返回一个 int result;
return result;
}
然后你调用这个GetSqlResult方法 就可以得到你想要的数了;
你的意思是想记录通过这个语句返回的几条数据,但是你不能直接的强转,这样是转换不了的。
你可以写一个类 例如public int GetSqlResult(sit)
{
连接数据库;
用sit进行查询返回一个 int result;
return result;
}
然后你调用这个GetSqlResult方法 就可以得到你想要的数了;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从Code来看 “First_Class”是数据库的余票数量吧! 酱紫.... 声明完了sit与price后,创建Command 传入你的数据库链接与sql语句(sit、price分开查哦)进行查询 sit查询会返回你的余票数量 price会返回票价 之所以输入字符串错误 是因为 你试图将sit字符串转成Int 所以咯.. 代码不贴了 可以参考一楼的嘛 或者搜索下ado.net
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sit ="select First_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
这是一个string,sql语句来的吧?怎么可以转成int呢?要放到sql中来执行的吧
PS:sql最好还是写成这种形式吧。
sit =string.Format("select First_Class from Air where Air_ID='{0}'", this.Air_ID.Text);
这是一个string,sql语句来的吧?怎么可以转成int呢?要放到sql中来执行的吧
PS:sql最好还是写成这种形式吧。
sit =string.Format("select First_Class from Air where Air_ID='{0}'", this.Air_ID.Text);
追问
我取出来的东西是别的地方输入的数字,变成int进行操作
我应该怎么去做呢??
追答
照你的代码看,你是把sit转成int来用了,但是这个sit怎么看也是sql,不是数值。
你是不是要把sit放到sql执行之后,得到一个数值,再把这个数值转成int啊?
你最好取断点一步一步来看了,具体的我也不清楚你的代码是怎么样的说。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-23
展开全部
额 难道你不会F5么 童鞋 调试下 有报错提示的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sit ="select First_Class from Air where Air_ID='" + this.Air_ID.Text + "'";
string connString = "Data Source= .;Initial Catalog=……";
SqlConnection connection = new SqlConnection(connString);
SqlCommand command = new SqlCommand(sit, connection);
int a = (Int32)command.ExecuteScalar();
string connString = "Data Source= .;Initial Catalog=……";
SqlConnection connection = new SqlConnection(connString);
SqlCommand command = new SqlCommand(sit, connection);
int a = (Int32)command.ExecuteScalar();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询