代码如下:
string strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = 流体网络.mdb " ;
OleDbConnection myConn = new OleDbConnection ( strConn ) ;
myConn.Open ( ) ; string Load="select Max(TimeID) from Node where NodeID="+NodeID.ToString();
OleDbCommand command=new OleDbCommand(Load,myConn);
copy_Time=(int)command.ExecuteScalar(); myConn.Close(); MessageBox.Show(copy_Time.ToString());
每次运行时都会说 “指定的转换无效“。请问是否语法错误
string strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = 流体网络.mdb " ;
OleDbConnection myConn = new OleDbConnection ( strConn ) ;
myConn.Open ( ) ; string Load="select Max(TimeID) from Node where NodeID="+NodeID.ToString();
OleDbCommand command=new OleDbCommand(Load,myConn);
copy_Time=(int)command.ExecuteScalar(); myConn.Close(); MessageBox.Show(copy_Time.ToString());
每次运行时都会说 “指定的转换无效“。请问是否语法错误
int NodeID=1;
出错了
应该是
string Load="select Max(TimeID) from Node where NodeID='"+NodeID.ToString()+"'";
改成
string Load="select Max(TimeID) from Node where NodeID='"+NodeID.+"'";
不过我觉得多半
copy_Time=(int)command.ExecuteScalar();
这句有问题,取出来的TimeID可能不是整形无法直接强制转换,你最好看看数据库中的数据使用查询分析器执行select Max(TimeID) from Node where NodeID=这一句看到底是什么东西取出来了
改成:
string Load="select Max(TimeID) from Node where NodeID="+NodeID;
应该是你说的问题!
还有就是timeid的类型如果不是数值型的话
用max(timeid)就有问题