向各位请教一个asp.net中数据类型转换的问题!

flyinbob12349878 2004-06-28 11:51:56
我写了一个asp.net程序,如下:
SqlConnection objConnection;
SqlCommand objCommand;
objConnection=new SqlConnection("server=bob;trusted_connection=true;database=Northwind;uid=sa;pwd=;integrated security=true;");
objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='radEmployees.SelectedItem.Value'",objConnection);

objConnection.Open();
dgEmployee.DataSource=objCommand.ExecuteReader();
dgEmployee.DataBind();
objConnection.Close();
其中radEmployees是一个RadioButtonlist控件,dgEmployee是一个DataGrid.

编译时产生如下异常:

将 varchar 值 'radEmployees.SelectedItem.Value' 转换为数据类型为 int 的列时发生语法错误。
Exception Details: System.Data.SqlClient.SqlException: 将 varchar 值 'radEmployees.SelectedItem.Value' 转换为数据类型为 int 的列时发生语法错误。

Source Error:
Line 39:
Line 40: dgEmployee.DataSource=objCommand.ExecuteReader();
Line 41: dgEmployee.DataBind();异常点
Line 42: objConnection.Close();
Line 43:

请教各位大虾,这样的数据转换问题应该如何解决。请各位帮帮忙,急等中!!!


...全文
116 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly_miss 2004-06-29
  • 打赏
  • 举报
回复
coollzh(良子) 的少了一个双引号

objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='"+radEmployees.SelectedItem.Value+"'",objConnection);
flyinbob12349878 2004-06-29
  • 打赏
  • 举报
回复
请教各位高手,能不能跟我讲讲这其中大概的原理,我现在觉得我对类型转换一无所知,
我现在应该怎么样学习这方面知识。

请各位大虾指点!
popcode 2004-06-29
  • 打赏
  • 举报
回复
try

objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='"+ Convert.ToInt32(radEmployees.SelectedItem.Value) +"'",objConnection);
coollzh 2004-06-29
  • 打赏
  • 举报
回复
objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='radEmployees.SelectedItem.Value'",objConnection);

着句话有问题,
objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='"+radEmployees.SelectedItem.Value+"',objConnection);
singleflower 2004-06-29
  • 打赏
  • 举报
回复
建议你看看SQL数据库语言方面的书籍
zhn0410 2004-06-29
  • 打赏
  • 举报
回复
实际上你所遇到的问题不是数据类型转换的问题,EmployeeID='radEmployees.SelectedItem.Value'中的'radEmployees.SelectedItem.Value'在sql把它当作字符串处理了,应该使用‘“+变量名+”’格式传递参数给sql。
zhn0410 2004-06-29
  • 打赏
  • 举报
回复
我建议你看一下sql和.net的联机文档和范例。
ml_net 2004-06-29
  • 打赏
  • 举报
回复
objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='"+radEmployees.SelectedItem.Value+"',objConnection);
===>
objCommand=new SqlCommand("select FirstName,LastName,Country,Region,City,Notes from Employees where EmployeeID='"+radEmployees.SelectedItem.Value+"'",objConnection);
whatandwhy 2004-06-29
  • 打赏
  • 举报
回复
为什么不看MSDN
rickjelly2004 2004-06-29
  • 打赏
  • 举报
回复
数据库不熟呀
flyinbob12349878 2004-06-29
  • 打赏
  • 举报
回复
谢谢各位大虾帮忙,我终于解决了这个问题,

但是我现在对数据类型转换的知识还是很不清楚,很模糊

请问各位高手我现在应该看哪些方面的资料,来弥补我的不足!

希望得到个位的帮助,谢谢!
coollzh 2004-06-29
  • 打赏
  • 举报
回复
是的,谢谢 fly_miss(新年新气象) ,我发表后就发现了

另外在radEmployees.SelectedItem.Value的时候最好判断一下是否为null

62,243

社区成员

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

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

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

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