日期:2014-05-17  浏览次数:20401 次

ExecuteScalar 指定的转换无效。急急急!
public void Change_type()
{
conn=new OleDbConnection("Provider= Microsoft.Jet.OleDb.4.0; Data Source=pq.mdb;");
 
conn.Open();
comm=new OleDbCommand();
comm.Connection=conn;
comm.CommandText="Select MAX(UserID)+1 From EXF_USER";
ID_write=(int)comm.ExecuteScalar();//读取数据库最大ID并+1
if(ID_write==0) ID_write=10000000;
//以下为判断男女的选择
if (RadioButton_male.Checked) 
sex_judge="男";
else sex_judge="女";
if (RadioButton_unedu.Checked)
type_judge="1";
else type_judge=DropDownList_type.SelectedValue;
}
这是一段写入数据库的预执行判断,在SQL数据库是运行没有什么问题的。但是我一把它修改为OleDb数据库运行的时候,就老提示:ID_write=(int)comm.ExecuteScalar();//读取数据库最大ID并+1 指定的转换无效。的错误!!!急死人了,老师偏要我们用OleDb数据库做,另外,数据库的权限问题我都已经设置了匿名用户的写入权限了。请各位高手救救我啊~过天要交了!!!!!!

------解决方案--------------------
上面错了,看这个:
C# code
comm.CommandText="Select MAX(UserID) From EXF_USER";
string tmp = comm.ExecuteScalar();
ID_write = int.Parse(tmp) + 1;