注册 登录
编程论坛 ASP.NET技术论坛

标准表达式中数据类型不匹配。

freebirdbo 发布于 2009-10-12 01:37, 757 次点击
运行的时候总是提示 标准表达式中数据类型不匹配。是怎么回事啊?
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string conString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=";
        conString += Server.MapPath(@"./App_Data/IP.mdb");
        OleDbConnection c = new OleDbConnection(conString);
        c.Open();
        
        string a = this.DropDownList1.Text;
        string b = this.TextBox1.Text;
        OleDbCommand thisCmd = c.CreateCommand();
         = "SELECT * FROM ipManage WHERE (" + a + "=" + b + ")";
        OleDbDataAdapter ad = new OleDbDataAdapter(thisCmd);
        DataSet ds = new DataSet();
        ad.Fill(ds, "ipManage");
        GridView1.DataSource = ds.Tables[0].DefaultView;
        GridView1.DataBind();
    }
}
1 回复
#2
2009-11-04 15:34
= "SELECT * FROM ipManage WHERE (" + a + "=" + b + ")";
上边这句好像有问题。你的a字段是什么类型 要是数据库里面是字符类型就错了
改一下就行
= String。Format("SELECT * FROM ipManage WHERE {0} = ‘{1}’",a,b);
1