急求高手解答?
/////编译的方法
public int addnputgod3(string D, string N, string P)
{
SqlParameter[] paras = new SqlParameter[3];
paras[0] = new SqlParameter("@GoodsID", SqlDbType.Int);
paras[0].Value =int.Parse(D);
paras[1] = new SqlParameter("@GoodsName", SqlDbType.NVarChar, 50);
paras[1].Value = N;
paras[2] = new SqlParameter("@GoodsPrice", SqlDbType.Money);
paras[2].Value =P;
int i=com.ExecuteNonQuery("AddgoodInput3", CommandType.StoredProcedure, paras);
return i;
//com.ExecuteNonQuery(addgodProc, CommandType.StoredProcedure, paras);
//return i;
}
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox2");
string GD = ((TextBox)GridView1.Rows[i].FindControl("Label2")).ToString();
string GN = ((TextBox)GridView1.Rows[i].FindControl("Label1")).ToString();
string GP = ((TextBox)GridView1.Rows[i].FindControl("Label3")).ToString();
if(cbox.Checked==true)
{
int i1 = Md.addnputgod3(GD,GN,GP);//调用的方法
if (i1 == 1)
{
Response.Write("javascript:return confirm('添加成功!;location.href='GoodsInfo.aspx';");
}
}
}
}
这样添加为什么报错?
错误为:输入字符串的格式不正确。 --------------------编程问答-------------------- paras[0].Value =int.Parse(D);
确定这个能转化? 直接把你报错的那一句贴出来看看好了,调试下 就能发现是那一句话错误了。。也很容易发现问题...
另外 去提高你的结贴率吧. --------------------编程问答-------------------- paras[0].Value =int.Parse(D);
字符串不能被转换成数字
输入的内容有问题 --------------------编程问答--------------------
--------------------编程问答-------------------- 还是这个错误!。。。。。。
//FindControl找到的是一个Label 为什么要转换成TextBox??
Label lbl1 = (Label)GridView1.Rows[i].FindControl("Label2");
Label lbl2 = (Label)GridView1.Rows[i].FindControl("Label1");
Label lbl3 = (Label)GridView1.Rows[i].FindControl("Label3");
if(cbox.Checked==true)
{
int i1 = Md.addnputgod3(lbl1.Text,lbl2.Text,lbl3.Text);//调用的方法
}
输入字符串的格式不正确。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.FormatException: 输入字符串的格式不正确。
源错误:
行 52:
行 53: opencom(comtext, comtype, paras);
行 54: int i = com.ExecuteNonQuery();
行 55: closecon();
行 56: return i;
源文件: C:\Users\SUNYUN\Documents\Visual Studio 2010\Projects\商品进销\WebApplication1\Class&&methods\Common.cs 行: 54
堆栈跟踪:
--------------------编程问答--------------------
我的存储过程是这样的:
USE [Good]
GO
/****** Object: StoredProcedure [dbo].[deletegod] Script Date: 11/28/2011 14:37:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[deletegod]
@GoodsID int
as
delete from GoodsInfo where GoodsID=@GoodsID
select*from GoodsInfo
改后代码:
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox2");
Label GD = ((Label)GridView1.Rows[i].FindControl("Label2"));
int i1 = Md.deleteGodinfo(GD.Text);
if(cbox.Checked==true)
{
if (i1 == 1)
{
//Response.Write("<script>alert('删除成功!');location.href='GoodsInfo.aspx';</script>");
Response.Write("javascript:return confirm('删除成功!;location.href='GoodsInfo.aspx';");
}
}
}
有出现下列错误
;“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------
为过程或函数 deletegod 指定了过多的参数。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 为过程或函数 deletegod 指定了过多的参数。
源错误:
行 52:
行 53: opencom(comtext, comtype, paras);
行 54: int i = com.ExecuteNonQuery();
行 55: closecon();
行 56: return i;
--------------------编程问答-------------------- 参数过多,就是说 你传递的参数个数和存储过程定义的不一致 --------------------编程问答-------------------- 可是我只传了一个参数.....
--------------------编程问答-------------------- 断点跟踪一下 就知道了
补充:.NET技术 , ASP.NET