cmd.ExecuteNonQuery();返回值为-1

shengrl2007 2012-05-01 10:07:21
cmd.ExecuteNonQuery();返回值为-1。不知道是那个地方出错了!!!!求高手指点!!
protected void Button1_Click(object sender, EventArgs e)
{
String str = "SELECT * FROM [Car_Park] WHERE CarLisence='" + txtBox1.Text + "'";
SqlConnection conn = new SqlConnection("Data Source=DEEP-20120227AR;Database=Car_Park;User ID=sa;Password=sa");

SqlCommand cmd = new SqlCommand(str, conn);
conn.Open();
if (txtBox1.Text == "")
{
this.Response.Write("<script language=javascript>alert('车牌号不能为空!');</script>");
//return false;
return;
}
if (Convert.ToInt32(cmd.ExecuteScalar()) <= 0)
{
this.Response.Write("<script language=javascript>alert('停车场无此车牌号的车辆!');</script>");
return;
}
else
{
SqlDataReader sd = cmd.ExecuteReader();
sd.Read();//从数据库中读取记录。
string CarportNumber = sd["CarportNumber"].ToString();
string ParkTime = sd["ParkTime"].ToString();

txtBox2.Text = CarportNumber;
txtBox3.Text = ParkTime;//分别获取两个变量,同时把这两个变量的值送显示。
DateTime pt = Convert.ToDateTime(sd["ParkTime"]);
Decimal money;
if (sd["CarportNumber"].ToString().Substring(0, 1).Equals("A"))
{
money = 0.00M;
}
else
{
money = Convert.ToDecimal(((Convert.ToInt32(DateTime.Now.ToString("HH")) - Convert.ToInt32(pt.ToString("HH")))) * 1 + 2.00);//此处的时间计算也是有问题的,两天的时间差会出现负值!!!!

}
sd.Close();
conn.Close();
txtBox4.Text = DateTime.Now.ToString();
txtBox5.Text = money.ToString();


conn.Open();
String Sql = "";
Sql = "INSERT INTO Car_Park(LiKaiShiJian,Money) values(";
Sql += "'" + txtBox4.Text + "',";
Sql += "'" + txtBox5.Text + "')";//此处构造的SQL语句是没有问题的,只是写入不到数据库中。!!!
try
{
int rows= cmd.ExecuteNonQuery();

}
catch (Exception err)
{
MessageBox.Show(err.Message, "修改记录失败");
}
finally
{
conn.Close();

}

}

}
...全文
578 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiao_163 2012-06-11
  • 打赏
  • 举报
回复
为什么总返回ExecuteNonQuery()总返回-1,在数据库测试添加存储过程时,数据可添加进去
shengrl2007 2012-05-01
  • 打赏
  • 举报
回复
我都快疯了,是不是忽略了什么东西了。调试的过程中的INSERT语句出来的内容放到数据库中测试时 没有问题的,就是写不进去。是不是我还要选择是插入那一条记录啊?
暖枫无敌 2012-05-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
cmd1.ExecuteNonQuery();返回值为-1。)//先谢谢你了 。

protected void Button1_Click(object sender, EventArgs e {
String str = "SELECT * FROM [Car_Park] WHERE CarLisence='" + txtBox1.Text + "'";
SqlConnecti……
[/Quote]
留下联系Q,远程帮你调试下吧!
shengrl2007 2012-05-01
  • 打赏
  • 举报
回复
cmd1.ExecuteNonQuery();返回值为-1。)//先谢谢你了 。

protected void Button1_Click(object sender, EventArgs e {
String str = "SELECT * FROM [Car_Park] WHERE CarLisence='" + txtBox1.Text + "'";
SqlConnection conn = new SqlConnection("Data Source=DEEP-20120227AR;Database=Car_Park;User ID=sa;Password=sa");

SqlCommand cmd = new SqlCommand(str, conn);
conn.Open();
if (txtBox1.Text == "")
{
this.Response.Write("<script language=javascript>alert('车牌号不能为空!');</script>");
//return false;
return;
}
if (Convert.ToInt32(cmd.ExecuteScalar()) <= 0)
{
this.Response.Write("<script language=javascript>alert('停车场无此车牌号的车辆!');</script>");
return;
}
else
{
SqlDataReader sd = cmd.ExecuteReader();
sd.Read();//从数据库中读取记录。
string CarportNumber = sd["CarportNumber"].ToString();
string ParkTime = sd["ParkTime"].ToString();

txtBox2.Text = CarportNumber;
txtBox3.Text = ParkTime;//分别获取两个变量,同时把这两个变量的值送显示。
DateTime pt = Convert.ToDateTime(sd["ParkTime"]);
Decimal money;
if (sd["CarportNumber"].ToString().Substring(0, 1).Equals("A"))
{
money = 0.00M;
}
else
{
money = Convert.ToDecimal(((Convert.ToInt32(DateTime.Now.ToString("HH")) - Convert.ToInt32(pt.ToString("HH")))) * 1 + 2.00);//此处的时间计算也是有问题的,两天的时间差会出现负值!!!!

}
sd.Close();
conn.Close();
txtBox4.Text = DateTime.Now.ToString();
txtBox5.Text = money.ToString();


conn.Open();
String Sql = "";
Sql = "INSERT INTO Car_Park(LiKaiShiJian,Money) values(";
Sql += "'" + txtBox4.Text + "',";
Sql += "'" + txtBox5.Text + "')";//此处构造的SQL语句是没有问题的,只是写入不到数据库中。!!!
SqlCommand cmd1 = new SqlCommand(Sql,conn);
try
{
int rows= cmd1.ExecuteNonQuery();

}
catch (Exception err)
{
MessageBox.Show(err.Message, "修改记录失败");
}
finally
{
conn.Close();

}

}

}
暖枫无敌 2012-05-01
  • 打赏
  • 举报
回复

[Quote=引用 2 楼 的回复:]
改成上面的红色的还是不行。cmd.ExecuteNonQuery();返回值为-1。
[/Quote]

既然你修改了,怎么还报cmd.ExecuteNonQuery();返回值为-1。
即使报也是报cmd2.ExecuteNonQuery();返回值为-1。

你是不是下面没有改啊???

贴出你改后的代码来看一下
shengrl2007 2012-05-01
  • 打赏
  • 举报
回复
表Car_Park里面只有五个字段,没有必填字段。断点调试也试过了,F11下来没有什么异常。
chen_ya_ping 2012-05-01
  • 打赏
  • 举报
回复
调试吧,看看具体的错误
暖枫无敌 2012-05-01
  • 打赏
  • 举报
回复

[Quote=引用 2 楼 的回复:]
改成上面的红色的还是不行。cmd.ExecuteNonQuery();返回值为-1。
[/Quote]

Sql = "INSERT INTO Car_Park(LiKaiShiJian,Money) values(";
Sql += "'" + txtBox4.Text + "',";
Sql += "'" + txtBox5.Text + "')";

还不行的话,检查你的这个表Car_Park,里面只有2个字段,没有其他必填字段????
这个断点跟踪一下,很快能找出原因的。
shengrl2007 2012-05-01
  • 打赏
  • 举报
回复
改成上面的红色的还是不行。cmd.ExecuteNonQuery();返回值为-1。
暖枫无敌 2012-05-01
  • 打赏
  • 举报
回复
你的这个cmd还是执行上面的查询语句 ,怎么插入数据呢? 改成下面红色部分

protected void Button1_Click(object sender, EventArgs e)
{
String str = "SELECT * FROM [Car_Park] WHERE CarLisence='" + txtBox1.Text + "'";
SqlConnection conn = new SqlConnection("Data Source=DEEP-20120227AR;Database=Car_Park;User ID=sa;Password=sa");

SqlCommand cmd = new SqlCommand(str, conn);
conn.Open();
if (txtBox1.Text == "")
{
this.Response.Write("<script language=javascript>alert('车牌号不能为空!');</script>");
//return false;
return;
}
if (Convert.ToInt32(cmd.ExecuteScalar()) <= 0)
{
this.Response.Write("<script language=javascript>alert('停车场无此车牌号的车辆!');</script>");
return;
}
else
{
SqlDataReader sd = cmd.ExecuteReader();
sd.Read();//从数据库中读取记录。
string CarportNumber = sd["CarportNumber"].ToString();
string ParkTime = sd["ParkTime"].ToString();

txtBox2.Text = CarportNumber;
txtBox3.Text = ParkTime;//分别获取两个变量,同时把这两个变量的值送显示。
DateTime pt = Convert.ToDateTime(sd["ParkTime"]);
Decimal money;
if (sd["CarportNumber"].ToString().Substring(0, 1).Equals("A"))
{
money = 0.00M;
}
else
{
money = Convert.ToDecimal(((Convert.ToInt32(DateTime.Now.ToString("HH")) - Convert.ToInt32(pt.ToString("HH")))) * 1 + 2.00);//此处的时间计算也是有问题的,两天的时间差会出现负值!!!!

}
sd.Close();
conn.Close();
txtBox4.Text = DateTime.Now.ToString();
txtBox5.Text = money.ToString();


conn.Open();
String Sql = "";
Sql = "INSERT INTO Car_Park(LiKaiShiJian,Money) values(";
Sql += "'" + txtBox4.Text + "',";
Sql += "'" + txtBox5.Text + "')";//此处构造的SQL语句是没有问题的,只是写入不到数据库中。!!!
SqlCommand cmd2 = new SqlCommand(Sql,conn); try
{
int rows= cmd2.ExecuteNonQuery();
}
catch (Exception err)
{
MessageBox.Show(err.Message, "修改记录失败");
}
finally
{
conn.Close();

}

}

}

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧