asp向access数据库中添加数据,添加成功但是表格中只是增加了一行并没有内容

If (CStr(Request("MM_insert")) = "form1") Then
MM_editConnection = MM_cnn_STRING
MM_editTable = "[user]"
MM_editRedirectUrl = "right.asp"
MM_fieldsStr = "[username]|value|[password]|value"
MM_columnsStr = "[username]|',none,''|[password]|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)

MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
上面这句是插入查询的SQL语句,其中MM_editTable是要插入记录的表名,前面有赋值,MM_tableValues是字段名,MM_dbValues是各字段对应的值,这两个变量均未被赋值
题主看出端倪了吗?追问

代码我没有贴全,中间还有一部分,

这是取值的过程吧?我是菜鸟,感谢大神~

追答

MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
在这句后加下面两行代码进行调试:
response.write MM_editQuery '在页面上显示出生成的SQL语句
response.end '停止执行后面的代码
你将调试时生成的SQL检查下,看是否有问题,可以复制到access中生成一个新查询运行试试看。

追问

insert into [user] ([username],[password]) values ('','')
这是返回的sql语句,应该是MM_dbValues没有赋值,那赋值的代码应该怎么写啊?

追答

MM_fieldsStr = "[username]|value|[password]|value"
MM_columnsStr = "[username]|',none,''|[password]|',none,''"
分析你提供的代码,SQL语句中MM_tableValues和 MM_dbValues两个变量的值是由上两句个字符变量解析出来的,具体解析过程在你后继提供的图片代码中,我看了头晕,你自己分析吧。主要是根据分隔符“|”和“,”分解。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-13
说去取值不对,虽然插入数据那一步执行了
可以用注释去看提交前的每个字段的值,估计都是空白的
第2个回答  2014-03-15
Split 过后就是数组了

分解后 通过循环语句 读取 并插入到表中