我用以下代码添加数据到数据库内
private void addButton_Click(object sender, System.EventArgs e)
{
string strSQL = "INSERT INTO userTable (QQName,ftpName,ftpPwd,userDomain,regTime) VALUES (";
strSQL+=this.qqNameTextBox.Text+","+this.ftpNameTextBox.Text+","+this.ftpPwdTextBox.Text+","+this.domainTextBox.Text+",#"+System.DateTime.Today+"#)";
OleDbConnection myConn = new OleDbConnection(strDSN); 
// 实例化OleDbCommand对象
OleDbCommand myCmd = new OleDbCommand(strSQL, myConn); 
// 打开数据库,执行插入SQL语句 myConn.Open();
myCmd.ExecuteNonQuery();
MessageBox.Show("数据添加成功");
 
}控件中输入纯数字的就能添加,但输入字母就不能添加,数据库中字段类型是文本型,不知道为什么,求解!

解决方案 »

  1.   

    建议使用parameters,这样避免出现类型转换错误。
      

  2.   

    同意楼上的, SQL语句用 INSERT INTO userTable (QQName,ftpName,ftpPwd,userDomain,regTime) VALUES ( ?, ?, ?, ); 有几个参数就用几个?
      

  3.   

    strSQL+="'"+this.qqNameTextBox.Text+"','"+this.ftpNameTextBox.Text+"','"+this.ftpPwdTextBox.Text+"','"+this.domainTextBox.Text+"',#"+System.DateTime.Today+"#)";字符串要加引号.
      

  4.   

    string strSQL = "INSERT INTO userTable (QQName,ftpName,ftpPwd,userDomain,regTime) VALUES ('";
    strSQL+=this.qqNameTextBox.Text+"','"+this.ftpNameTextBox.Text+"','"+this.ftpPwdTextBox.Text+"','"+this.domainTextBox.Text+"',#"+System.DateTime.Today+"#)";
      

  5.   

    OK,象这个都加上单引号正解
    '"+this.ftpNameTextBox.Text+"'