项目实战(四)—VB.NET动态创建表

前端之家收集整理的这篇文章主要介绍了项目实战(四)—VB.NET动态创建表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

从接触数据库到现在,我们数据库中的表一般是静态的的。做项目的时候也是根据业务的需求把每个表都建立完整了,才开始开发。而并非所有的表都是静态的,现在我们开发时就遇到这样的一个问题,我们需要根据用户对现实粮仓的布局在数据库中动态建表。


一、问题


系统的一些表必须在本系统在实际运行过程中生成


二、途径


在系统中动态创建这些表,依据具体的情况,将每个仓建立一张这样的表。


三、项目实例


1、简单例子


<span style="font-size:18px;">Declare @sql VarChar(1000)                                                      '定义查询变量

SELECT @sql = 'Create Table ' + @TableName + '('
SELECT @sql = @sql + 'ID int NOT NULL Primary Key,FieldName VarChar(10))'      '拼接字符串

Exec (@sql)                                                                     '执行字符串
</span>

2、项目实例


传入参数为表名

<span style="font-size:14px;">    Public Function CreateStorageHumi(intStorage As Integer) As Boolean Implements ICreateStorageHumi.CreateStorageHumi
           
         '拼接表名
         Dim tableName As String     
      
         '定义创建表时使用的参数                                                                                                      
         Dim sqlparam(0 To 1) As sqlParameter    

        '创建温度测量表的sql语句
         Dim strCreate As String = "exec('create table '+@storageNumber+' '+@string)"       

        'StorageHumi为表名前半部分,intStorage为每个仓的仓号
        tableName = "StorageHumi" & intStorage                       

        '传递表名参数
        sqlparam(0) = New sqlParameter("@storageNumber",tableName)                                             

        '插入表中字段
        sqlparam(1) = New sqlParameter("@string","(dectDate date not null,dectTime datetime not null,inTemp  varchar(5) not null)")                                                                                                                                                                 
  
        '执行创建语句,创建该数据库
        sqlHelper.UpdDelAlter(strCreate,CommandType.Text,sqlparam)        
                                    
        Return True

    End Function</span>

猜你在找的VB相关文章