成都网站建设设计

将想法与焦点和您一起共享

关于vb.net创建sql表的信息

VB.NET创建sql数据库问题

我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.

创新互联提供成都做网站、成都网站建设、网页设计,成都品牌网站建设广告投放平台等致力于企业网站建设与公司网站制作,十余年的网站开发和建站经验,助力企业信息化建设,成功案例突破近1000家,是您实现网站建设的好选择.

然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset.

创建这两个对象的具体方法是:

1.在引用后,使用New关键字,如

Private Conn As New ADODB.Connection

Private Reco As New ADODB.Recordset

2.在没引用时,用CreateObject创建对象:

Dim Conn,Reco

Set Conn = CreateObject("ADODB.Connection")

Set Reco = CreateObject("ADODB.Recordset")

创建了对象之后,下一步我们要做的就是打开数据库了.

先看下面的代码,可以成功的打开数据库.

Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Main.mdb"

这句代码打开了D盘中的Main.mdb这个数据库.

Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:\main.mdb"它表示了数据库所在的绝对路径.

打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.

1.想返回"Users"中,[用户名]为"去年烟花"的[密码]

Recordset.open "Select 密码 From Users Where 用户名='去年烟花'",Connection,1,1

之后我们就可以把用户输入的密码进行比较,看是否允许登录.

If Recordset.eof and Recordset.bof then

Msgbox "用户不存在!",16

Else

If PassWord =Recordset("密码").value then

msgbox "登录成功!",64

Else

msgbox "密码错误!",32

End If

End If

Recordset.Close

2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来

Recordset.open "Select * From Users",Connection,1,1

这时,表已经被打开,我们就用以下代码把它显示出来.

Do whlie Not Recordset.eof

Print "用户名: " Recordset("用户名").value "密码: " Recordset("密码").value

Recordset.MoveNext

Loop

Recordset.Close

由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.

Select [字段名] From 表名 [Where 条件]

这里的条件可以省略.且字段名也可以用"*"来代替所有字段.

需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.

后面的条件,可以用"="、""、""等运算符.比如 "Where ID 32".(这里假设[ID]为数字型.)

这是打开的部分.第二个很重要的部分就是查询记录.

数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.

定位:

移动到下一条 Recordset.MoveNext

移动到上一条 Recordset.MovePrevious

移动到最后一条 Recordset.MoveLast

移动到第一条 Recordset.MoveFrist

移动到某一条 Recordset.Move Number

筛选:

Recordset.Find "条件"

如:[用方法(2)打开表之后]

Private Sub Command1_Click()

Recordset.Find "用户名=" "text1.text"

If Recordset.Eof True Then

Msgbox "该用户的密码是:" Recordset("密码").value,64

Else

Msgbox "未找到该用户的资料!",16

End If

End Sub

MoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为True时....

而只要Eof 和 Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.

Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.

第三个部分就是添加/修改记录.

修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了.

比如:[(修改密码)按方法(1)打开表之后]

Recordset("密码").value = "123456"

Recordset.Updata

需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.

而添加记录则可以用以下代码来实现:

Recordset.addnew

Recordset("用户名").value = "Admin"

Recordset("密码").value = "Admin"

Recordset.Updata

这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.

到这里就差不多了,最后说一下上面提到的几个方法.

Recordset.Open SQL语句,数据源,游标类型,打开方法

SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据

数据源就是一个打开之后的Connection对象.

去他妈的游标类型,填1就可以了 [偷笑ing]

打开方法对应了几个常数,具体哪几个可以从对象浏览器里看.

对应数值的意义:

1 只读 2 独占 3 可写 4 自已可写,别人可读

Connection.open 连接代码,服务器用户名,密码

这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.

如何使用.NET和VB编程创建SQL Server

使用DataTable

假设myDT为DataTable实例,并且已经存储了你所要比较的数据库表的数据

字段名暂定:f1,f2,f3......fn

与表中第n条记录的f2字段做比较,格式简单如下

If myDT.Rows(n).Item(f2)=Trim(TextBox1.Text) Then ..........

不知道这样能否看懂

SQL语句没什么格式不同

有关VB的SQL语句中的建表语句

create table 是建表的关键字

[自动编号字段] int IDENTITY (1,1) PRIMARY KEY

这个是建字段的格式 字段名 类型 属性……

其中

int是类型

IDENTITY 是标识列属性

PRIMARY KEY 是设置该字段为主键列

其他就不列举了

在VB中如何用SQL语言在一个数据库中建立一个表?

创建MDB文件

【工程】菜单-【引用】,在弹出的窗体中选择【Microsoft ADO Ext. 2.X for DDL and Security】,“2.X”表示版本。 Dim cat As New ADOX.Catalog '日志变量

Dim tbl As New ADOX.Table '表变量

Dim pstr As String '数据库连接配置

Dim db As String '数据库名及路径

db = App.Path "\conmag.mdb"

pstr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=xfenghany;" "data source=" db

cat.Create pstr '创建库文件

cat.ActiveConnection = pstr '连接库

tbl.Name = "coner" '表定义

tbl.Columns.Append "cname", adVarWChar, 50 '表定义

tbl.Columns.Append "ccall", adVarWChar, 50 '表定义

tbl.Columns.Append "ctele", adVarWChar, 50 '表定义

tbl.Columns.Append "cext", adVarWChar, 50 '表定义

tbl.Columns.Append "cmail", adVarWChar, 50 '表定义

tbl.Columns.Append "chome", adVarWChar, 50 '表定义

tbl.Columns.Append "cwork", adVarWChar, 50 '表定义

tbl.Columns.Append "cgx", adVarWChar, 50 '表定义

cat.Tables.Append tbl '生成表

Set tbl = Nothing Set tbl = New ADOX.Table

tbl.Name = "tbltwo" '表定义

tbl.Columns.Append "nosee", adVarWChar, 50 '表定义

cat.Tables.Append tbl '生成表

Set tbl = Nothing指示列的数据类型 常量 说明

adTinyInt 精确的数字值,精度为小数点后 3 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdSmallInt 精确数字值,精度为小数点后 5 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdInteger 精确数字值,精度为小数点后 10 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdBigInt 精确数字值,精度为小数点后 19 位。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdUnsignedTinyInt 无符号的 adTinyInt。

AdUnsignedSmallInt 无符号的 adSmallInt。

AdUnsignedInt 无符号的 adInteger。

AdUnsignedBigInt 无符号的 adBigInt。

AdSingle 单精度浮点数。

AdDouble 双精度浮点数。

AdCurrency 货币类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdDecimal 变体型十进制类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdNumeric 数值类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdBoolean 变体布尔类型。0 为假而 ~0 为真。

AdUserDefined 用户定义的变量长度数据类型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdVariant 自动变体型。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdGuid 全域唯一标识符。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdDate 自动日期。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdDBDate 数据库日期数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdDBTime 数据库时间数据结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdDBTimestamp 数据库时间戳结构。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdBSTR BSTR 的指针。关于该类型的详细资料,请参阅“OLE DB 程序员参考”。

AdChar 定长字符串。

AdVarChar 变长字符串。

AdLongVarChar 长变长字符串。

AdWChar 宽定长字符串。

AdVarWChar 宽变长字符串。

AdLongVarWChar 长、宽变长字符串。

AdBinary 定长二进制数据。

AdVarBinary 变长二进制数据。

AdLongVarBinary 长变长二进制数据。

VB.NET中如何用SQL语句建表(复制表)?谢谢了!

分类: 电脑/网络 程序设计 其他编程语言

问题描述:

在SQL数据库里已有一个现成的空数据表(只有字段、没有数据),请问高手,怎样在VB.NET中用SQL语句把该数据库中的那个表复制一个到该数据库(字段不变、数据为空)只是把数据表的名改了?

谢谢!谢谢!

解析:

select * into 新表 from 旧表

使用 SELECT INTO 插入行

SELECT INTO 语句创建一个新表,并用 SELECT 的结果集填充该表。新表的结构由选择列表中表达式的特性定义,例如:

SELECT Shippers.*, Link.Address, Link.City,

Link.Region, Link.PostalCode

INTO NewShippers

FROM Shippers

JOIN LinkServer.DB.dbo.Shippers AS Link

ON (Shippers.ShipperID = Link.ShipperID)

SELECT INTO 可将几个表或视图中的数据组合成一个表。也可用于创建一个包含选自链接服务器的数据的新表。


网页名称:关于vb.net创建sql表的信息
文章分享:http://chengdu.cdxwcx.cn/article/dodcddp.html