在数据库中能不能像用excel那样直接填表保存进数据库,而不是用SQL语句-阿里云开发者社区

开发者社区> 技术小大人> 正文

在数据库中能不能像用excel那样直接填表保存进数据库,而不是用SQL语句

简介:
+关注继续查看

如何在sql2005表中直接填写数据? 在数据库中能不能像用excel那样直接填表保存进数据库,而不是用SQL语句

2011-4-19 14:37
提问者:善良的噜噜修 | 悬赏分:20 | 浏览次数:372次
如图,我很郁闷,直接填表总是无法保存……每次想填点数据都只能用insert语句,太麻烦了……而且我还不知道用INSERT语句如何批量添加……
37d12f2e8722d5084fc22616.jpg?t=132418922
2011-4-19 15:10
最佳答案
下个SQL2005可视化界面 可以直接添加删除修改就更excel一样 
这是下载地址http://www.microsoft.com/downloads/zh-cn/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796

追问

谢了,是我SQL版本的问题,我的是VS2008自带的SQLserver2005最简版……所以没那功能……我还是写SQL语句去好了……
0
| 评论
回答者: 水煮你妹 | 二级采纳率:100%
擅长领域: C#/.NET 其他编程语言
参加的活动: 暂时没有参加的活动
其他回答 共3条
2011-4-19 15:09 呐疯籽 | 二级
通过前面几篇 SQL语言教程 中,我们已说到这一篇要介绍的是Insert Into的另一种用法,也就是把检索出来的数据,批量添加到数据库中,其语法是:
INSERT INTO 表格名1 (列名11,列名12, ...) SELECT 列名21, 列名22, ... FROM 表格名2
以上的语法是最基本的语法。在Select后,还可能含有 WHERE、 GROUP BY、 及 HAVING 等子句,以及表格连接及别名等等。与Select Into对比,Select Into中目标表名应该在数据库中是不存在的,而 Insert Into Select正好相反,其目标表名在数据库中一定要存在的。
下面的这个例子,是把出仓表中的所有的钢笔数据,添加到上一篇文章http://www.excelba.com/Art/Html/310.html 生成的临时表的数据库中,如果你没有看到上一篇文章,请运行上一篇文章的程序生成临时表后,再运行下面这段程序。
Sub 进销存表数据库中出仓表里检索的数据添加到已有的表()
'*******************************************
'时间:2008-10-21
'作者: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 OldTableName As String
Dim NewTableName As String
Dim sSql As String
Dim tStr As String
WN = "进销存表.mdb"
OldTableName = "出仓表"
NewTableName = "临时表"
tStr = "钢笔"
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 " & NewTableName & " Select * From " & OldTableName & " Where 物品名称='" & tStr & "'"
    conn.Execute sSql
    MsgBox "成功把“" & OldTableName & "”中的所有的“" & tStr & "”记录汇总到“" & NewTableName & "”中!", , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub
因为上一篇文章生成的临时表与出仓表的结构是完全相同的,因此正如上面的例子,我们不需要列出NewTableName中列明细资料,而OldTableName的列的资料,我们也可以用*来表示!
那么,如果列名不一样,能不能导入呢?当列的数据类型一致时,还是可以导入的,下面的这段操作Excel文件的程序,功能是把进仓表的毛笔数据,导入到临时表中,其中进仓表的进仓日期对应着临时表的出仓日期,进仓数量对应着出仓数量,代码如下:
Sub 进销存表文件中进仓表里检索的数据添加到已有的表()
'*******************************************
'时间:2008-10-21
'作者: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 OldTableName As String
Dim NewTableName As String
Dim sSql As String
Dim tStr As String
WN = "进销存表.xls"
OldTableName = "进仓表"
NewTableName = "临时表"
tStr = "毛笔"
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 [" & NewTableName & "$] (出仓日期,物品名称,出仓数量) " & _
           "Select 进仓日期 As 出仓日期,物品名称,进仓数量 As 出仓数量 From [" & _
           OldTableName & "$] Where 物品名称='" & tStr & "'"
    conn.Execute sSql
    MsgBox "成功把“" & OldTableName & "”中的所有的“" & tStr & "”记录汇总到“" & NewTableName & "”中!", , "http://excelba.com"
    conn.Close
End If
Set conn = Nothing
End Sub
Insert Into Select就介绍完了,现在可以动手复制一下上面的代码,运行一下看一下效果吧*^_^*。
如果你不是从第一篇 SQL语言教程 看起,你需要到http://www.excelba.com/Soft/Html/119.html 下载文件,压缩文件包含三个文件,数据库文件——进销存表.mdb与Excel文件——进销存表.xls就是保存数据的文件,而主文件.xls就是主程序文件,以后大家的代码可以添加在这个文件的新模块里,然后再运行程序代码。
转载请注明:本文来自:Excel吧 (www.excelba.com) 详细出处参考:http://www.excelba.com/Art/Html/311.html 

追问

= =!
谢了……我现在用的不是VB而是C#……
0
| 评论
2011-4-19 15:38 fxy6781349 | 三级
输入完成以后离开输入那行 鼠标移动到其他行 刷新或者按F5 或者按!号执行都可以 insert批量添加?貌似没有加过 因为值都不一样啊 怎么批量嘛 可以写一条SQL 复制粘贴嘛 
0
| 评论
2011-4-19 15:54 cheriehenshao | 一级
直接填表保存是  你填完后  右击全选那个单元格(你这张表编号左边那个)-执行!  就保存好了。
insert批量添加是  insert into Table_1 values(111,222,333,444);
括号里按照你列的顺序依次填写,注意数据类型和约束等。 
0
| 评论

本文转自9pc9com博客,原文链接:    http://blog.51cto.com/215363/744809    如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9488 0
MSSQL还原数据库失败 不能选择文件或文件组 Microsoft SQL Server,错误:3219
MSSQL还原数据库失败,提示如下: 还原对与服务器 失败。(Microsoft.SqlServer.Smo) 其它信息: ┃ ┗→执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionsInfo) ┃ ┗→不能选择文件或文件组“……”用于此操作。
1212 0
关于excel,access里的内容导到sqlserver数据库的问题?
<p>用SQL语句直接导入比较方便,快捷</p> <p>1.查询excel<br>SELECT * <br>FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',<br>  'Data Source="c:/Finance/account.xls";User ID=Admin;Password=;Extended properties=Excel 5.
1123 0
【RDS MySQL】将Excel的数据导入数据库
您可以将Excel的数据通过数据管理服务DMS(Data Management Service)导入到RDS MySQL数据库中。
49 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13168 0
PostgreSQL中同样是别人提交的数据,为什么你能看到,我却看不到?
阅读使人充实,讨论使人敏捷,写作使人精确。
497 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11502 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
6886 0
sql server数据库保存图片或者其他小文件
原文: sql server数据库保存图片或者其他小文件 测试用sql server数据库保存图片或者其他小文件。 文件流字段用varbinary类型。 static void Main() { Application.
864 0
1561
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载