无法将类型“string”隐式转换为“int”

dhdhzzw 2009-07-14 02:27:56
代码如下,不明白C#干嘛喜欢把东西转来转去的,事项一次觉得技术先进吗?!!!!!!!


public partial class TrainManage_Train_TrainRecord : System.Web.UI.Page
{
private int xT_ID = "sid";//培训ID 报错这一句无法将类型“string”隐式转换为“int”
private string DutySql = "select a.P_ID,a.P_NAME, case a.P_SEX when 0 then '男' when 1 then '女' when 2 then '未知'end as P_SEX ,a.P_DEPARTMENT,c.RP_RESULT,c.RP_PEROSN_ID,c.RP_TRAIN_ID,b.T_ID,b.T_NAME,b.T_START_TIME,b.T_OVER_TIME,d.INFO_ID,d.INFO_NAME from RS_Person a,RS_TRAIN b,RS_TRAIN_PERSON c, RS_D_INFOMATION d where a.P_ID = c.RP_PEROSN_ID and b.T_ID = c.RP_TRAIN_ID and d.INFO_ID=a.P_DEPARTMENT and b.T_ID='xT_ID' ";//这句SQL语句查处3表里的数据。

private class _Notice
{
public static string RecordCount;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{



//int xID = Convert.ToInt32(Request.QueryString["id"]);

//int id = Int32.Parse(this.Request.QueryString["id"]);//编号
int sid = Int32.Parse(this.Request.QueryString["id"].ToString());
Response.Write(sid);
这里可以得出 sid的值 得出为8 而且我觉得这里已经 int 了。。哪里也没看到类型“string”隐式 这都什么跟什么错啊。
...全文
264 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjvjom 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 dhdhzzw 的回复:]
public partial class TrainManage_Train_TrainRecord : System.Web.UI.Page
{
    private int xT_ID = "sid";//培训ID  报错这一句无法将类型“string”隐式转换为“int”
    private string DutySql = "select a.P_ID,a.P_NAME, case a.P_SEX when 0 then '男' when 1 then '女' when 2 then '未知'end as P_SEX ,a.P_DEPARTMENT,c.RP_RESULT,c.RP_PEROSN_ID,c.RP_TRAIN_ID,b.T_ID,b.T_NAME,b.T_START_TIME,b.T_OVER_TIME,d.INFO_ID,d.INFO_NAME from RS_Person a,RS_TRAIN b,RS_TRAIN_PERSON c, RS_D_INFOMATION d where a.P_ID = c.RP_PEROSN_ID and b.T_ID = c.RP_TRAIN_ID and d.INFO_ID=a.P_DEPARTMENT and b.T_ID='xT_ID' ";//这句SQL语句查处3表里的数据。
[/Quote]

1.对xT_ID的赋值应该为
private int xT_ID=sid;

2.如果表RS_TRAIN中列T_ID的类型是字符,在DutySql中条件b.T_ID应写为" ... Where ... b.T_ID='"+xT_ID.ToString()+"'";

3.如果表RS_TRAIN中列T_ID的类型是数字,在DutySql中条件b.T_ID应写为" ... Where ... b.T_ID="+xT_ID.ToString();
Hide1984 2009-07-14
  • 打赏
  • 举报
回复
..都回答了,光顶了
dhdhzzw 2009-07-14
  • 打赏
  • 举报
回复
private int xT_ID = sid;//培训ID 去掉后报错说非静态变量。。。。。等错误,

你们能不能看出我贴的那段带那有什么错误啊。不一定是找某一行,而是整段代码该怎么写》?
就是从另一个页面得到一个id 然后搜索数据库,这么简单的东西。
wzytiger 2009-07-14
  • 打赏
  • 举报
回复
private int xT_ID = "sid";//培训ID 报错这一句无法将类型“string”隐式转换为“int”
当然不对啊,你不可以直接将string型的值赋给int型变量啊
watch4729 2009-07-14
  • 打赏
  • 举报
回复
因为C#是强类型的
private int xT_ID = "sid";
这个错太显见了吧。。。
""是字符串啊
private int xT_ID=sid
十八道胡同 2009-07-14
  • 打赏
  • 举报
回复
private int xT_ID = "sid";//培训ID 报错这一句无法将类型“string”隐式转换为“int”

"sid" 是string类型,这里报错.
改成private int xT_ID =0;
surlew 2009-07-14
  • 打赏
  • 举报
回复
private int xT_ID = "sid";
你这样写没有问题?

你要初始化值,你可以写成private int xT_ID = 0;啊

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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