详细错误提示信息如下:
标准表达式中数据类型不匹配。 
说明: 执行当前 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);
   ……}

解决方案 »

  1.   

    sql语句:
    string str = "Insert Into teSort(SortName,SortRe,SortPicPath,SortUrl,SortGrade,SortMotherID) Values('"+txtName.Text+"','"+txtRe.Text+"','"+lblPicPath.Text+"','"+txtUrl.Text+"',1,1)";
      

  2.   

    sql语句没有问题,原因可能是('')把你的SQL语句断义了,你最好限制一下输入,避免用户输入单引号之类的非法字符,当然最好的方法是使用带参数的sql
      

  3.   

    你这样写就不用担心以上的问题:string strSQL = "Insert Into teSort(SortName,SortRe,SortPicPath,SortUrl,SortGrade,SortMotherID) Values(@SortName,@SortRe,@SortPicPath,@SortUrl,1,1)";SqlCommand cmd = new SqlCommand(strSQL,objConn);cmd.Parameters.Add("@SortName",SqlDbType.VarChar);
    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();
      

  4.   

    已经解决了
    就是''引起的问题,sql里的数字型字符是可以插入到数字字段里去的,但Access就不可以了,所以造成数据类型不匹配
    谢谢指点
    顺便说一下,Access好象是不支持存储过程的吧