OleDbCommand cmd = new OleDbCommand("insert into ProductTbl(ProductName,ProductContent) values(@ProductName,@ProductContent)", conn);SQL语句里的@代表什么意思?

解决方案 »

  1.   

    这表示@ProductName,@ProductContent是参数
    可以通过OleDbParameter来传递参数
    具体请用百度搜索OleDbParameter
    在SQL中是这样的,你可以参考:
    SqlParameter param1=new SqlParameter("@ProductName",VarChar,200);
    param1.Value=你要插入的值
    SqlParameter param2=new SqlParameter("@ProductContent",VarChar,200);
    param2.Value=你要插入的值
      

  2.   

    @procuctname这是TSQL的语法,代表一个变量.
    不过写在这里好像有问题,没法用啊!
      

  3.   

    public static bool Update(int productID, string productName,string productContent)
    {
       OleDbConnection conn = new OleDbConnection(connectString);
       OleDbCommand cmd = new OleDbCommand("update ProductTbl set ProductName='" + productName.Replace("'","''") + "',ProductContent='"+productContent+"' where ProductID=@ProductID", conn);
       cmd.Parameters.Add("@ProductID",OleDbType.Integer);
       cmd.Parameters["@ProductID"].Value = productID;
                         ......
    productName,productContent也是参数,为什么么他们在new OleDbCommand(...,里不用加@前缀?
      

  4.   

    public string connectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Server.MapPath("Data/Test.mdb");变量connectString值前加@,这样说明了什么?
      

  5.   

    public string connectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Server.MapPath("Data/Test.mdb");
    这个@是特殊字符抑制符,比如你要一个字符串"c:\test.txt",一般要这样写
    string s = "c:\\test.txt",
    但你也可以写成这样:
    string s = @"c:\test.txt"
    @就是抑制了\的转义功能