============真是太奇怪了!请各位高手来看看!100分相送!

javaftp 2006-05-17 08:13:15
这样一段简单代码

public string getpath(string aa,string getpath)
{
string conn=ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection con = new SqlConnection(conn);
con.Open();
SqlCommand myCommand = new SqlCommand("getpath",con);
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter ca= myCommand.Parameters.Add("@aaa", SqlDbType.Int);
ca.Value=aa;

string dd=myCommand.ExecuteScalar().ToString();

con.Close();
return dd;

}

在aaa.aspx的后台代码aaa.aspx.cs里运行良好,可是当把它放到一个类里比如ddd.cs运行却出现
"System.FormatException: 输入字符串的格式不正确。"的错误!
问题出在
>>>>>string dd=myCommand.ExecuteScalar().ToString();

请问怎么回事???为什么相同的代码却出现错误!???
请各位高手来给解答一下!谢谢!
...全文
107 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kssys 2006-05-17
  • 打赏
  • 举报
回复
楼主可以设断点查询此问题
kssys 2006-05-17
  • 打赏
  • 举报
回复
说明aa传的值不符合数值格式,检查string aa;
javaftp 2006-05-17
  • 打赏
  • 举报
回复
ca.Value = int.Parse(aa);

在页面的后台程序也可以转换,可是放到类里就出现错误哪???
javaftp 2006-05-17
  • 打赏
  • 举报
回复
晕了
我想转换
ca.Value = int.Parse(aa);
怎么也出现
输入字符串的格式不正确
shoushii 2006-05-17
  • 打赏
  • 举报
回复
string dd=(string)myCommand.ExecuteScalar().ToString();
webwait 2006-05-17
  • 打赏
  • 举报
回复
string dd="";
object objResult=myCommand.ExecuteScalar();
if(objResult!=null&&!Convert.IsDBNull(objResult))
dd=objResult.ToString();
shoushii 2006-05-17
  • 打赏
  • 举报
回复
补充:最好写上参数的方向。
shoushii 2006-05-17
  • 打赏
  • 举报
回复
SqlParameter ca= myCommand.Parameters.Add("@aaa", SqlDbType.Int);
SqlParameter ca= myCommand.Parameters.Add("@aaa", SqlDbType.Int,4);
aspdotnet2005 2006-05-17
  • 打赏
  • 举报
回复
public string getpath(int aa)
{
.................
SqlCommand myCommand = new SqlCommand(getpath,con);
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter ca= new SqlParameter("@aaa", SqlDbType.Int);
ca.Value=aa;
myCommand.Parameters.Add(ca);
.............
}
kssys 2006-05-17
  • 打赏
  • 举报
回复
参数类型错了:
SqlParameter param= new SqlParameter("@aaa",SqlDbType.Int);
param.Value = int.Parse(aa);
myCommand.Parameters.Add(param);
javaftp 2006-05-17
  • 打赏
  • 举报
回复
对不起,我着急发错了!
应该是

public string getpath(string aa)
{
string conn=ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection con = new SqlConnection(conn);
con.Open();
SqlCommand myCommand = new SqlCommand("getpath",con);
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter ca= myCommand.Parameters.Add("@aaa", SqlDbType.Int);
ca.Value=aa;

string dd=myCommand.ExecuteScalar().ToString();

con.Close();
return dd;

}
aspdotnet2005 2006-05-17
  • 打赏
  • 举报
回复
在后台页面能通过??
--------------------------
//public string getpath(string aa,string getpath)明明aa作为存储过程参数是Int,可是这确是string,不懂
public string getpath(int aa,string getpath)
{
string conn=ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection con = new SqlConnection(conn);
con.Open();
//SqlCommand myCommand = new SqlCommand("getpath",con);既然getPath是参数,为什么加引号
SqlCommand myCommand = new SqlCommand(getpath,con);
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter ca= new SqlParameter("@aaa", SqlDbType.Int);
ca.Value=aa;
myCommand.Parameters.Add(ca);
string dd=myCommand.ExecuteScalar().ToString();

con.Close();
return dd;

}
yzhiwu 2006-05-17
  • 打赏
  • 举报
回复
是不是需要 using System......?
javaftp 2006-05-17
  • 打赏
  • 举报
回复
自己顶一下!

62,046

社区成员

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

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

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

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