none
access的类型 RRS feed

  • 问题

  •      我做一个社区网站,用的是ACCESS来存储数据,我的想法是把用户输入的数据先用编程的方式转变为OledbParameter数据类型,然后把它加入 oledbcommand中进行执行命令。可是当我编程时,我把access中的文本数据类型对应到system.data.oledbtype.varwchar类型;当我编译时,却提示我数据类型不匹配;难道文本不是对应oledb.varwchar类型吗?


    2009年6月24日 15:54

答案

全部回复

  • --------------------------------------------------------
    -- 示例 是 System.Data.OleDb.OleDbType.VarWChar,可能 是你打错了
    --------------------------------------------------------
    OleDbCommand fOleDbCommand = new OleDbCommand();
    fOleDbCommand.CommandText = "INSERT INTO `客户` (`城市`, `传真`, `地区`, `地址`, `电话`, `公司名称`, `国家`, `客户ID`, `联系人头衔`, `联" +
         "系人姓名`, `邮政编码`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
    fOleDbCommand.Connection = this.oleDbConnection1;
    fOleDbCommand.Parameters.AddRange(new System.Data.OleDb.OleDbParameter[] {
    new System.Data.OleDb.OleDbParameter("城市", System.Data.OleDb.OleDbType.VarWChar, 0, "城市"),
    new System.Data.OleDb.OleDbParameter("传真", System.Data.OleDb.OleDbType.VarWChar, 0, "传真"),
    new System.Data.OleDb.OleDbParameter("地区", System.Data.OleDb.OleDbType.VarWChar, 0, "地区"),
    new System.Data.OleDb.OleDbParameter("地址", System.Data.OleDb.OleDbType.VarWChar, 0, "地址"),
    new System.Data.OleDb.OleDbParameter("电话", System.Data.OleDb.OleDbType.VarWChar, 0, "电话"),
    new System.Data.OleDb.OleDbParameter("公司名称", System.Data.OleDb.OleDbType.VarWChar, 0, "公司名称"),
    new System.Data.OleDb.OleDbParameter("国家", System.Data.OleDb.OleDbType.VarWChar, 0, "国家"),
    new System.Data.OleDb.OleDbParameter("客户ID", System.Data.OleDb.OleDbType.VarWChar, 0, "客户ID"),
    new System.Data.OleDb.OleDbParameter("联系人头衔", System.Data.OleDb.OleDbType.VarWChar, 0, "联系人头衔"),
    new System.Data.OleDb.OleDbParameter("联系人姓名", System.Data.OleDb.OleDbType.VarWChar, 0, "联系人姓名"),
    new System.Data.OleDb.OleDbParameter("邮政编码", System.Data.OleDb.OleDbType.VarWChar, 0, "邮政编码")});


    知识改变命运,奋斗成就人生!
    2009年6月24日 16:26
    版主
  • using System;
    using System.Data;
    using System.Configuration;
    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;
    /// <summary>
    /// Managedata 的摘要说明
    /// </summary>
    public class Managedata
    {
        DB db = new DB();
        public Managedata()
    	{
    		//
    		// TODO: 在此处添加构造函数逻辑
    		//
    	}
        #region 添加数据
        public int insertdata(Publicparameter parameter)
        {
            OleDbParameter[] oledbparameter ={
                db.inparameter("@name",OleDbType.VarWChar,50,parameter.Name),
                db.inparameter("@pwd",OleDbType.VarWChar,50,parameter.Pwd),
                db.inparameter("@realname",OleDbType.VarWChar,50,parameter.Realname),
                db.inparameter("@sex",OleDbType.VarWChar,50,parameter.Sex),
                db.inparameter("@email",OleDbType.VarWChar,50,parameter.Email),
                db.inparameter("@qq",OleDbType.VarWChar,50,parameter.Qq),
                db.inparameter("@question",OleDbType.VarWChar,50,parameter.Question),
                db.inparameter("@answer",OleDbType.VarWChar,50,parameter.Answer),
                db.inparameter("@limit",OleDbType.Integer,4,parameter.Limit),
            };
            string str = "insert into users(name,pwd,realname,sex,email,question,answer,limit,qq) values(@name,@pwd,@realname,@sex,@email,@question,@answer,@limit,@qq)";
                       
            int j=db.noreturndata(str,oledbparameter);
            return j;
        }
    
        #endregion

    2009年6月24日 16:54
  • 我试过好几次了,同样的问题;
    2009年6月24日 16:55
  • 好像我的占位符错了;
    2009年6月24日 17:01
  • 我试了一下,还是不行啊;


    2009年6月24日 17:11
  • new System.Data.OleDb.OleDbParameter("传真", System.Data.OleDb.OleDbType.VarWChar, 0, "传真"),
    new System.Data.OleDb.OleDbParameter("地区", System.Data.OleDb.OleDbType.VarWChar, 0, "地区"),
    
    
    
    其中,参数中传递的0个字符是什么意思啊?难道这个参数为空?

    2009年6月24日 17:14
  • 0 一般表示不限制长度
    知识改变命运,奋斗成就人生!
    2009年6月25日 7:43
    版主
  • Access 在SQL 中的参数用 ? 表示你注意看例子中的 SQL 和 OleDbParameter 声明
    知识改变命运,奋斗成就人生!
    2009年6月25日 7:47
    版主