详细错误提示信息如下:
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
源错误: 行 28: OleDbDataAdapter Sqlcomd = new OleDbDataAdapter(sql,strConn);
行 29: DataSet ds = new DataSet();
行 30: Sqlcomd.Fill(ds,"vtable");
行 31: DataTable dt = ds.Tables["vtable"];
行 32: return dt;
用的是Access数据库,数据库连接字符串如下:
<appSettings>
<add key = "strConn" value = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= F:\113\WebSite\Erp\Program\Data\Erp.mdb;User Id=;Password=" />
</appSettings>数据库执行函数如下:
//返回结果Table
public DataTable GetDataTable(string sql)
{
OleDbConnection strConn = new OleDbConnection(Conn);
OleDbDataAdapter Sqlcomd = new OleDbDataAdapter(sql,strConn);
DataSet ds = new DataSet();
Sqlcomd.Fill(ds,"vtable");
DataTable dt = ds.Tables["vtable"];
return dt;
}
页面程序文件调用如下:
private void Page_Load(object sender, System.EventArgs e)
{
SortID = Request.QueryString["SortID"].ToString();
SortDetailInfoBind(SortID);
……}
标准表达式中数据类型不匹配。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 标准表达式中数据类型不匹配。
源错误: 行 28: OleDbDataAdapter Sqlcomd = new OleDbDataAdapter(sql,strConn);
行 29: DataSet ds = new DataSet();
行 30: Sqlcomd.Fill(ds,"vtable");
行 31: DataTable dt = ds.Tables["vtable"];
行 32: return dt;
用的是Access数据库,数据库连接字符串如下:
<appSettings>
<add key = "strConn" value = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= F:\113\WebSite\Erp\Program\Data\Erp.mdb;User Id=;Password=" />
</appSettings>数据库执行函数如下:
//返回结果Table
public DataTable GetDataTable(string sql)
{
OleDbConnection strConn = new OleDbConnection(Conn);
OleDbDataAdapter Sqlcomd = new OleDbDataAdapter(sql,strConn);
DataSet ds = new DataSet();
Sqlcomd.Fill(ds,"vtable");
DataTable dt = ds.Tables["vtable"];
return dt;
}
页面程序文件调用如下:
private void Page_Load(object sender, System.EventArgs e)
{
SortID = Request.QueryString["SortID"].ToString();
SortDetailInfoBind(SortID);
……}
string str = "Insert Into teSort(SortName,SortRe,SortPicPath,SortUrl,SortGrade,SortMotherID) Values('"+txtName.Text+"','"+txtRe.Text+"','"+lblPicPath.Text+"','"+txtUrl.Text+"',1,1)";
cmd.Parameters.Add("@SortRe",SqlDbType.VarChar);
cmd.Parameters.Add("@SortPicPath",SqlDbType.VarChar);
cmd.Parameters.Add("@SortUrl",SqlDbType.VarChar);cmd.Parameters["@SortName"].Value = txtName.Text;
cmd.Parameters["@SortRe"].Value = txtRe.Text;
cmd.Parameters["@SortPicPath"].Value = lblPicPath.Text;
cmd.Parameters["@SortUrl"].Value = txtUrl.Text;cmd.ExecuteNonQuery();
就是''引起的问题,sql里的数字型字符是可以插入到数字字段里去的,但Access就不可以了,所以造成数据类型不匹配
谢谢指点
顺便说一下,Access好象是不支持存储过程的吧