困惑啊,各位帮我看看到底哪里错了,WinForm中与Access中的语法不一样吗?:
WinForm使用的是ACCESS2003的数据库:
UserInfo表结构
-------------------
UserId  数字
UserName 文本
Password  文本
Department 文本
EmailFrom  文本--------Winform中代码:private void AppyUserSettingBtn_Click(object sender, EventArgs e)
        {
            OleDbConnection conn = new OleDbConnection(ConfigurationManager.ConnectionStrings["TaxConnStr"].ConnectionString);
            //连接字符串是:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\TaxDB.mdb;Persist Security Info=True
            try
            {
                OleDbCommand cmd = new OleDbCommand();
                cmd.CommandType = CommandType.Text;
                cmd.Connection = conn;
                //检测是否已存在相同的EmployID
                cmd.CommandText = "SELECT COUNT(*) FROM UserInfo WHERE UserId=" + EmployeeIdTb.Text.Trim();
                conn.Open();
                int EffectRow = int.Parse(cmd.ExecuteScalar().ToString());
                if (EffectRow == 0)
                {
                    cmd.CommandText = "INSERT INTO UserInfo (UserId,UserName, Password, Department, EmailFrom) VALUES (" + EmployeeIdTb.Text + ", '" + UserNameTb.Text.Trim() + "', '" + PwdTb.Text + "', '" + DepartmentTb.Text.Trim() + "', '" + UserNameTb.Text.Trim() + "@" + MailAddrTb.Text.Trim() + "' )";
                    //当没有相同数据时:跟踪CommandText="INSERT INTO UserInfo (UserId,UserName, Password, Department, EmailFrom) VALUES (1482, 'sea', '123456', 'Finance', '[email protected]' )"
                    //当执行到下面的cmd.ExecuteNonQuery();时,提示“Insert Into语法错误”,而把这段Insert语句复制到Access中执行则执行成功!
                }
                else
                {
                    cmd.CommandText = "UPDATE UserInfo SET UserName='" + UserNameTb.Text.Trim() + "', Password='" + PwdTb.Text + "', Department='" + DepartmentTb.Text.Trim() + "', EmailFrom='" + UserNameTb.Text.Trim() + "@" + MailAddrTb.Text.Trim() + "' WHERE UserId=" + EmployeeIdTb.Text; 
                    //当有相同数据时:跟踪CommandText="UPDATE UserInfo SET UserName='sea', Password='123456', Department='Finance', EmailFrom='[email protected]' WHERE UserId=1482" 
                    //当执行到下面的cmd.ExecuteNonQuery();时,提示“Update语法错误”,而把这段Update复制到Access中执行则执行成功!
                }
                cmd.ExecuteNonQuery();//执行到这发生错误,跳到Catch块
                conn.Close();
                MessageBox.Show("设置用户信息成功", "设置成功", MessageBoxButtons.OK, MessageBoxIcon.Information);            }
            catch (Exception ex)
            {
                if (conn.State != ConnectionState.Closed)
                {
                    conn.Close();
                }
                MessageBox.Show("错误:" + ex.Message, "发生错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }