Excel实例下载
  VBA  应用教程
    数据库SQL知识
设为首页
INSERT INTO - 向数据库中添加数据
作者:bengdeng | 来源:Excel吧 | 时间:2008-10-09 | 阅读权限:游客 | 会员币:0 | 【

国庆长假终于过去,手上的事也忙得差不多,继续我们的SQL之路,下面的好多语句应该都不能单独说明,因为很多情况下都是组合在一起用的,不过为了一篇文章一个知识点,一个个的来了解,我们就从向数据库添加数据的INSERT INTO开始。

前面几篇 SQL语言教程 中介绍SQL的文章后,我们已可以创建,修改与删除一个数据库,今天介绍的INSERT INTO,我们就可以向上面创建的数据库中添加数据。INSERT INTO添加数据基本有两种方法:一种是一次性输入一笔数据,另一种是一次性输入多笔数据。因为后者还要用到SQL语句中最核心,最重要,最常用,也是最难全懂的Select语句,因此在这一篇文章中,我们先介绍第一种,语法如下:

INSERT INTO 表格名 (列名1, 列名2, ...) VALUES (数值1, 数值2, ...) 

上面的语法就是向表格名中指定的表格里添加一行新的数据,在列名1,列名2……中添加对应的值,需要说明的一点是,不一定表格中的每一个列名都指定值,如果没有指定,该列的值就是设定数据库时默认的值。如果列的数值没有,而设定数据库时该列设定的是必填字段,而程序会提示出错。

按照惯例,我们还是给出一段程序来让我们更了解上面说的内容:

Sub 向销存表数据库录入数据()
'*******************************************
'时间:2008-10-9
'作者:bengdeng
'功能:在程序文件同一目录下进销存表数据库中录入数据
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim TableName As String
Dim sSql As String
WN = "进销存表.mdb"
TableName = "明细表"

Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
                        "Data Source=" & ThisWorkbook.Path & "\" & WN
conn.Open
If conn.State = adStateOpen Then
    sSql = "INSERT INTO " & TableName & " (物品名称, 结余日期,结余数量,进仓数量,出仓数量)" & _
           "VALUES ('铅笔',#" & Date & "#,0,0,0)"
    conn.Execute sSql
    MsgBox "成功在“" & TableName & "”中增加了一条记录!", , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub

上面的程序有两点特别说明一下:一个是字符串可以用单引号来特别确认,这个在字符串与SQL的一些保留关键词一样时,特别需要注意;另一个是日期数值的表示方式为——#日期#,否则不正确。同样,我们也给出一段操作Excel的代码:

Sub 向销存表文件录入数据()
'*******************************************
'时间:2008-10-9
'作者:bengdeng
'功能:在程序文件同一目录下进销存表文件中录入数据
'注意:要在工具/引用中引用microsoft activex date objects x.x
'      其中x.x为版本号,可能会因为你安装的office的版本不同而不同,本例引用了2.5版
'发布:http://www.excelba.com
'*******************************************
Dim conn As ADODB.Connection
Dim WN As String
Dim TableName As String
Dim sSql As String
WN = "进销存表.xls"
TableName = "明细表"

Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;" & _
                        "Extended Properties=Excel 8.0;" & _
                        "Data Source=" & ThisWorkbook.Path & "\" & WN
conn.Open
If conn.State = adStateOpen Then
    sSql = "INSERT INTO [" & TableName & "$] (物品名称, 结余日期,结余数量,进仓数量,出仓数量)" & _
           "VALUES ('一笔',#" & Date & "#,0,0,0)"
    conn.Execute sSql
    MsgBox "成功在“" & TableName & "”中增加了一条记录!", , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub

最后大家自己动一下复制上面的代码,在VBA里操作一下,就能更好的理解了。希望通过这些文章,能让你开始对SQL的应用感兴趣,并应用到工作与生活中。

如果没有看到CREATE TABLE - 创建数据表的语句文章的朋友请到http://www.excelba.com/Art/Html/293.html 中利用里面的代码生成这篇文章需要的文件,然后再运行一下这两段代码吧。

文章录入:admin | 浏览次数:
相关评论(以下网友评论只代表其个人观点,不代表Excel吧的观点或立场)
相关信息

关于本站 | 留言本站 | 友情连接 | 后台管理
Copyright © 2005 - 2008 Excel吧 Inc. All Rights Reserved.
HxCms Ver9.0  闽ICP备06001689号
关闭此窗口