Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >读取包含SQL代码的文本文件,以在数据库中创建表。

读取包含SQL代码的文本文件,以在数据库中创建表。
EN

Stack Overflow用户
提问于 2014-05-07 18:27:56
回答 2查看 949关注 0票数 0

我需要代码来读取一个.txt文件,该文件位于我的项目bin\debug目录中,其中包含SQL代码,用于创建大小为936 of的大量表。

下面的代码我只使用..。

通过使用这种方法,它会给出结果,就像创建的表一样,但是它没有读取文件.数据库里什么都没有

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public Function readTextFile(ByVal fileName As String) As String
        Dim strContent As String()
        Dim x As String = ""
        Try
            'fileName = "CSYSS802.txt"

            If Not System.IO.File.Exists(fileName) Then
                'o Until EOF()
                strContent = System.IO.File.ReadAllLines(fileName)


                For Each Str As String In strContent
                    x = x + Str
                Next

                readTextFile = x
            End If
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
        readTextFile = x
    End Function

    Public Sub createTable(ByVal vdbs As String, ByVal file As String)
        username = frmlogin.txtusername.Text
        password = frmlogin.txtusername.Text
        vsvr = vServer
        vdb = Trim$(vdbs)
        strCon1 = "Server=" & vsvr & ";Database=" & vdb & ";uid=" & username & ";pwd=" & password & ";"
        sqlCon1 = New SqlClient.SqlConnection(strCon1)
        sqlCon1.Open()
        Dim arr() As String
        arr = Split(readTextFile(file), "GO")
        Dim i As String

        For Each i In arr
            If i <> "" Then
                Dim cmd2 As New SqlClient.SqlCommand("" & i & "")
                cmd2.CommandType = CommandType.Text
                cmd2.ExecuteNonQuery()
            End If
        Next
    End Sub
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-08 23:14:43

我自己--我找到了解决方案.我加入了下面的Code...It,现在正确地创建了所有的表..确保文本文件中的每个Sql命令以go结尾。因为我使用"GO"关键字拆分文本.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public Sub createTable(ByVal vdbs As String, ByVal file As String)
    username = frmlogin.txtusername.Text
    password = frmlogin.txtusername.Text
    vsvr = vServer
    vdb = Trim$(vdbs)
    strCon1 = "Server=" & vsvr & ";Database=" & vdb & ";uid=" & username & ";pwd=" & password & ";"
   sqlCon1 = New SqlClient.SqlConnection(strCon1)
    sqlCon1.Open()
    Dim arr() As String
    arr = Split(readTextFile(file), " GO ")
    Dim i As String

For Each i In arr
        If i <> "" Then
            Dim cmd2 As New SqlClient.SqlCommand("" & i & "", sqlCon1)
            cmd2.CommandType = CommandType.Text
            cmd2.ExecuteNonQuery()
        End If
    Next
End Sub
 Public Function readTextFile(ByVal file As String) As String
    Dim fso As New System.Object
    Dim ts As Scripting.TextStream
    Dim sLine As String

    fso = CreateObject("Scripting.FileSystemObject")
    ts = fso.openTextFile(file)

    Do Until ts.AtEndOfStream
        sLine = sLine & " " & ts.ReadLine

    Loop
    ts.Close()
    fso = Nothing
    readTextFile = sLine

End Function
票数 0
EN

Stack Overflow用户

发布于 2014-05-08 00:36:44

在readTextFile函数中,只有在文件不存在的情况下,它才会尝试从文本文件中读取文本。如果文本文件存在,则函数返回一个空字符串,如果文本文件不存在,该函数将抛出一个未找到的异常文件。

取代:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
If Not System.IO.File.Exists(fileName) Then

通过以下方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
If System.IO.File.Exists(fileName) = True Then

如果文件不存在,您还可能需要包含一个Else子句,因为它不会抛出错误,因为您已经正确地处理了它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
If System.IO.File.Exists(fileName) = True Then

     strContent = System.IO.File.ReadAllLines(fileName)

     For Each Str As String In strContent
         x &= Str
     Next

     Return x

Else

     MessageBox.Show("The file '" & fileName & "' does not exist.")
     Return ""

End If
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23531731

复制
相关文章
数据库中创建表的语句_创建基本表学生表的sql语句
在线Sqlite查看器|修改器 http://lzltool.com/sqlite-viewer
全栈程序员站长
2022/11/02
4.9K0
SQL2012_创建数据库,创建表,表的内外链接
create table a1( aid int constraint PK_a primary key, age int check(age between 27 and 80), sex int check(sex in('M','F')), tel nvarchar(20) check(tel like'1[3,5,7,8][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') ) create table b2( f n
赵腰静
2018/03/09
1.9K0
在 Angular 应用中创建包含组件
包含组件就是指可以包含其它组件的组件, 以 Bootstrap 的卡片 (Card) 为例, 它包含页眉 (header) 、 主体 (body) 和 页脚 (footer) , 如下图所示:
beginor
2020/08/07
4.8K0
在 Angular 应用中创建包含组件
SQL语句中创建表的语句_用sql创建表
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
全栈程序员站长
2022/11/03
4.7K0
SQL语句中创建表的语句_用sql创建表
Oracle创建数据库语句_oracle创建表的sql语句
create tablespace SOA logging datafile ‘D:\app\oradata\ORCL\SOA.dbf’ size 32m autoextend on next 32m maxsize 2048m extent management local;
全栈程序员站长
2022/11/08
3.1K0
sql server 数据库的创建(代码)
use [master] go if exists(select * from sysdatabases where name='bookStore') drop database bookStore; go create database bookStore ON PRIMARY ( name='bookStore_data', -- 主数据文件的物理名称 filename='D:\bookStore_data.mdf', --主数据文件的初始大小 size=5mb, -- 主数据文件增长的最
week
2018/08/27
1.3K0
mysql创建数据库的步骤_sql创建数据库代码
Tedis(https://github.com/eleme/tedis)是基于开源 TiKV 的兼容 Redis 协议的强一致性的 NoSQL 数据库开源项目。 本文介绍一下 Tedis 开源项目的架构设计和特性,以及架构背后的一些思考(包括为何选择 TiKV 和 Redis 协议)。
全栈程序员站长
2022/09/30
10.7K0
mysql创建数据库的步骤_sql创建数据库代码
数据库建表规则_SQL创建数据表
建表语句的规范: 1.字段的设计 A. 数据类型尽量用数字类型,数字类型的比字符类型的要快很多。   B. 数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的,但是有不能太小, 上次监控系统里面的表 mon_tair_stat_detail_2012_1 的data_size 和 use_size定义的是int(15) 实际上最大长度是int(11) 只有bigint才有(15). 所以在建表的时候一定要预估这个字段最大的长度到底是多少。   C. 尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT 的值来代替。   D. 少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。
全栈程序员站长
2022/10/02
2.2K0
使用Linq to Sql 创建数据库和表
1.建一个类Article 1 using System.Data.Linq.Mapping; 2 3 4 5 [Table(Name = "Article")] 6 public class Article 7 { 8 [Column(IsPrimaryKey=true)] 9 public int id 10 { 11 get; 12 set; 13
lpxxn
2018/01/31
1.7K0
executeupdate mysql_使用Mysql中的executeUpdate在SQL语句中创建表
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
全栈程序员站长
2022/11/01
5.5K0
使用SQL语句创建表_用sql语句创建员工表
create table 表名 (列1 数据类型 1,列2 数据类型) tablespace 表空间
全栈程序员站长
2022/11/19
4.1K0
使用SQL语句创建表_用sql语句创建员工表
Sql Server远程查询db 表中的数据,以本地
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117684.html原文链接:https://javaforall.cn
全栈程序员站长
2022/01/04
2.9K0
windows操作系统在SQL Server 创建表的方法
我们的数据库是一个任务跟踪数据库,那我们就建立一个名为 “Tasks” 的表。该表将持有的所有任务 – 一个重要的属性状态。然后,我们可以创建另一个表名为 “Status” 。这样在后面的操作中,我们可以针对不同表进行查询操作,找出工作需要做什么和给定的状态等。
用户8965210
2021/09/02
1.6K0
access数据库表的创建_access数据库sql语句大全
长度为255的文本varchar 长度为20的文本varchar(20) 日期时间datetime 数字byte或smallint或integer,或bit 自动编号:counter(1,1) 外健:constraint外健名 主键:primary key 小数:numeric 单精度:real 双精度:float 备注:memo 货币:currency Ole对象:image
全栈程序员站长
2022/11/08
4.2K0
怎么创建数据表_sqlserver创建表的sql语句
知识点:数据库表的相关概念、创建数据库表的方法、设计数据库表、向数据库表中插入数据、建立不同数据库表之间的关系、删除数据库表。
全栈程序员站长
2022/11/17
3.2K0
怎么创建数据表_sqlserver创建表的sql语句
spark sql读取hudi表数据
这篇文章接上一篇spark submit读写hudi,上一篇spark submit写入hudi的数据这里打算通过spark sql来进行查询
yiduwangkai
2022/03/24
2K3
spark sql读取hudi表数据
在PowerBI中创建时间表(非日期表)
在powerquery中创建日期表是使用powerbi过程中一个必不可少的内容(当然,你也可以使用DAX来创建):
陈学谦
2020/07/01
4.4K0
在PowerBI中创建时间表(非日期表)
在企业级数据库GaussDB中如何查询表的创建时间?
在项目交付中,经常有人会问“如何在数据库中查询表的创建时间?” ,那么究竟如何在GaussDB(DWS)中查找对象的创建时间呢?本文提供3种方法作为参考,包括dba_objecs视图查看方法、审计日志查看方法和CN日志查看方法。
用户1685462
2021/07/17
3.6K0
在MySQL表中查询出所有包含emoji符号的数据
1. 从以下地址下载emoji的utf8编码文件 https://gist.github.com/JoshyPHP/225b3c77005a89d81511
用户1148526
2022/10/04
13.5K0
在MySQL表中查询出所有包含emoji符号的数据
点击加载更多

相似问题

执行sql代码以在zend框架中创建表和数据库

11

如何读取包含SQL代码的文本文件并执行

35

读取包含数组的文本文件-在表中显示

24

读取文本文件以将数据插入Oracle SQL表

67

SQL数据库表连接以创建IdealTable

48
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文