运行插入SQL查询

时间:2012-12-08 15:31:08

标签: sql ms-access-2007

如何在Microsoft Access中运行INSERT SQL查询?

例如:

INSERT INTO tbl_UserPurchase (ID, Name) Values (321, Joe)

4 个答案:

答案 0 :(得分:3)

您需要在SQL中引用文字:

INSERT INTO tbl_UserPurchase (ID, Name) VALUES (321, 'Joe')

答案 1 :(得分:3)

您可以在Access的查询设计器中构建查询,然后在设计视图中单击功能区上的“运行”。 (寻找红色解释点。)

如果要从代码中执行此操作,可以使用DAO数据库对象或ADO .Execute对象的CurrentProject.Connection方法。

Dim strInsert As String
strInsert = "INSERT INTO tbl_UserPurchase (ID, Name)" & vbCrLf & _
    "VALUES(321, 'Joe');"
CurrentDb.Execute strInsert, dbFailOnError

但是,参数查询会更灵活(对其他用户名有用,而不仅仅是Joe)并阻止SQL注入。

Dim db As DAO.database
Dim qdf As DAO.QueryDef
Dim strInsert As String

strInsert = "INSERT INTO tbl_UserPurchase (ID, Name)" & vbCrLf & _
    "VALUES (321, [which_user]);"
Set db = CurrentDb
Set qdf = db.CreateQueryDef("", strInsert)
' you could read the parameter value from a text box on a form,
' but this example will just hard code Joe
qdf.Parameters("[which_user]").value = "Joe"
qdf.Execute dbFailOnError
Set qdf = Nothing
Set db = Nothing

还有其他方法可以让这只猫受伤。如果这些建议都不令人满意,请向我们提供有关您希望如何以及在何处运行INSERT的详细信息。

答案 2 :(得分:2)

我认为名称字段为VarChar(或 DB 处的某个字符串值),因此它的意思应该是

 INSERT INTO tbl_UserPurchase (ID, Name) Values(321, 'Joe');

答案 3 :(得分:-1)

试试这个:INSERT INTO tbl_name VALUES (1, 'xyz')

请告诉我,如果这对您有用。

祝你好运