db_conn dbc = new db_conn();//db_conn是个数据库连接类.
DataSet ds = new DataSet();
int aid;
string faid;
ds = dbc.getdatafromdb("select MAX(f_aid) from t_applyinfo");//此处表t_applyinfo中f_aid 类型为int 表中没有数据 if (ds == null)
{
aid = 0;
}
else
{
aid = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());//此句出现问题 提示输入字符串格式不正确
}
faid = (aid + 1).ToString();
string cid = Request.QueryString["id"].ToString().Trim();
string jid;
ds = dbc.getdatafromdb("select f_jid from t_jobs where f_jname='"+Label12.Text+"'");
jid = ds.Tables[0].Rows[0][0].ToString();
string userloginname=Request.QueryString["userloginname"].ToString().Trim();
ds=dbc.getdatafromdb("select f_userid from t_userlogin");
string userid=ds.Tables[0].Rows[0][0].ToString(); dbc.updatedatabase("insert into t_applyinfo values('"+faid+"','"+cid+"','"+jid+"','"+userid+"')");请教各位前辈 先谢谢
if(ds.Tables[0].Rows.Count>0)
int.TryParse(ds.Tables[0].Rows[0][0].ToString(),out aid );
改为下面这样的,因为int.TryParse(ds.Tables[0].Rows[0][0].ToString()里面可能含有字母或其它非数字的符号.
if(int.TryParse(ds.Tables[0].Rows[0][0].ToString(),aid)==false)
{
aid=0;
}
断点显示的说datetime型转换需要什么 但我的f_aid列是整形啊
{
aid = 0;
}
else
{
aid = Convert.ToInt32(ds.Tables[0].Rows[0][0].ToString());
}
你那列到底是什么类型,如果不是整型,而是money等其他带有小数点的类型,则ToInt32也是不接受的,要先转换为Double或者Decimal
ds.Tables[0].Rows[0][0].ToString());//同意,调试一下就知道了
列是Int型的
用2楼和3楼的方法解决了
3楼的缺个out关键字
谢谢大家了 我还得琢磨一下这是怎么回事