您的位置:首页 > 数据库

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

2011-12-18 14:24 411 查看

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

2011-4-19 14:37 提问者:善良的噜噜修 | 悬赏分:20 | 浏览次数:372次
如图,我很郁闷,直接填表总是无法保存……每次想填点数据都只能用insert语句,太麻烦了……而且我还不知道用INSERT语句如何批量添加……





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| 评论




向TA求助

回答者: 水煮你妹 | 二级采纳率:100%
擅长领域: C#/.NET 其他编程语言
参加的活动: 暂时没有参加的活动

相关内容

2009-1-24 sql2005怎么实现数据库或者表的导出,比如导出成excel 4

2010-6-30 Sql2005数据库——怎么把excel表导入到我指定的表中

2011-3-18 像这样的excel表怎么插入数据库(sql2005)呢?需要建表还是不要建...

1

2011-8-17 sql2005数据库,从A表删除2011年1月1日前的数据,现在硬盘没有空间...

2011-7-27 在sql2005怎样编写语句判断输入的数据是否在数据库的表中?比如库... 1

更多关于如何在 sql数据库中用excel 建立临时表的问题>>

.i-exp-suc{background:url("http://img.baidu.com/img/iknow/qb/exp_suc.gif") no-repeat scroll 0 0 transparent;display:inline-block;height:14px;line-height:14px;padding-left:20px;vertical-align:middle;}#exp-word{font-size:12px;color:#666;font-family:tahoma;margin-left:5px;}.exp-mid{text-align:left;width:60px;margin-left:16px;font-size:12px;}

等待您来回答

1回答10sql server 2005 在建立与服务器的连接时出错,不允许远程链接

0回答Miscrosft SQL Server 2005 如何安装?

2回答SQL 2005 批量设置自增列

0回答80Ruby怎么远程访问SQL 2005 server进行还原备份操作?其他方法亦可(cm...

1回答急急。。。在vs2010中连接不了sql2005怎么办?

0回答30不支持此服务器版本。仅支持Microsoft SQL Server 2005以下版本的服务...

0回答20我的电脑安装了SQL2005,现在有一个SQL+asp的源码,请问需要装什么软...

0回答20求JSP+SQL2005网上书店源码要MyEclipse能导入进去的运行的。数据库最...

更多等待您来回答的问题>>

其他回答 共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| 评论
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息