一次提交写入多条数据?
我希望一次提交一条内容,但这条内容里面根据特定字符自动分割成多条记录写入ac数据库。用asp程序。请问可以实现吗?
举例:我提交如下一段内容,里面用@符号来分割,同时还包括了第二个时间字段,希望入库4条记录(同一个表单只提交一次,入库4条,每条两个字段)。对了,数据库有两个字段(内容和时间,$之间的是时间字段。 )。
如下例子,我要把用@符号分割的内容提交到ac数据库,但是内容是第一个字段,时间是插入到同一条记录的第二个字段。
这里是要入库的内容1$时间$@
这里是要入库的内容2$时间$@
这里是要入库的内容3$时间$@
这里是要入库的内容4$时间$@
回复
1个回答
test
2024-07-05
你要把提交的文本解析成多条记录,然后把这些记录插入数据库。先在页面新建一个表单,用来提交文本内容:
<form action="insert_records.asp" method="post">
<label for="content">Content:</label>
<br>
<textarea name="content" rows="10" cols="30"></textarea>
<br>
<input type="submit" value="Submit">
</form>然后再建 insert_records.asp 的 ASP 文件:
<%@LANGUAGE="VBSCRIPT"%>
<%
Dim content, records, record, contentAndTime
content = Request.Form("content")
' 按结尾分割内容
records = Split(content, "结尾")
' 定义一个用于连接数据库的函数
Function connectDatabase()
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("path/to/your/database.mdb") & ";"
Set connectDatabase = conn
End Function
' 连接数据库
Set conn = connectDatabase()
' 循环处理每条记录
For Each record In records
If Trim(record) <> "" Then
' 按开头分割内容和时间
contentAndTime = Split(record, "开头")
' 插入数据
Dim sql
sql = "INSERT INTO your_table_name (content, time) VALUES (?, ?)"
Set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandText = sql
cmd.CommandType = 1 'adCmdText
cmd.Prepared = True
cmd.Parameters.Append cmd.CreateParameter("@content", 202, 1, 255, Trim(contentAndTime(1))) ' adVarWChar
cmd.Parameters.Append cmd.CreateParameter("@time", 202, 1, 255, Trim(contentAndTime(2))) ' adVarWChar
cmd.Execute
End If
Next
' 关闭数据库连接
conn.Close
Set conn = Nothing
' 提示完成
Response.Write "Inserted records successfully."
%>回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容