CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

如何判断数据库中一个表是否已经存在?不存在就创建一个!存在就补充数据

楼主cenpy(cenpy)2003-06-02 00:18:22 在 .NET技术 / ASP.NET 提问

如何判断数据库中一个表是否已经存在?不存在就创建一个!存在就补充数据  
  请指教!~! 问题点数:0、回复次数:8Top

1 楼elliot(!逸轩)回复于 2003-06-02 00:27:22 得分 0

SQL语句:  
  if   not   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[表名]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   =   1)  
  create   ...  
  else  
  update   ...  
  GO  
  Top

2 楼liguiman(li)回复于 2003-06-02 07:37:44 得分 0

同意  
  Top

3 楼hhzh426(春之风)回复于 2003-06-02 08:32:46 得分 0

如果是用oledbconnection连接数据源的话,可以用OleDbConnection.GetOleDbSchemaTable的方法获取数据库中的所有表。Top

4 楼hhzh426(春之风)回复于 2003-06-02 08:34:26 得分 0

MSDN上的例子  
  以下示例返回数据库中的表的列表。  
   
  [Visual   Basic]    
  Public   Function   GetTables(conn   As   OleDbConnection)   As   DataTable  
      conn.Open()  
      Dim   schemaTable   As   DataTable   =   conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,   _  
                                                                                                                      New   Object()   {Nothing,   Nothing,   Nothing,   "TABLE"})  
      conn.Close()  
      Return   schemaTable  
  End   Function  
  [C#]    
  public   DataTable   GetTables(OleDbConnection   conn)  
  {  
      conn.Open();  
      DataTable   schemaTable   =   conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,  
                                                                                                        new   object[]   {null,   null,   null,   "TABLE"});  
      conn.Close();  
      return   schemaTable;  
  }Top

5 楼cenpy(cenpy)回复于 2003-06-02 13:33:59 得分 0

if   not   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[表名]')   and   OBJECTPROPERTY(id,   N'IsUserTable')   =   1)  
  create   ...  
  else  
  update   ...  
  GO  
   
  能解释一下这条语句吗?dbo.sysobjects和N'[dbo].[表名]是怎么回事?  
  Top

6 楼csdnshao(如水人生)回复于 2003-06-02 13:55:54 得分 0

表名-->你要创建的表的名字  
  dbo.sysobjects-〉你指定数据库中的对象集合  
  这一句,如果你指定的表不存在当前数据库,创建,否则。。。  
  Top

7 楼wengjw(小面)回复于 2003-06-02 14:42:01 得分 0

[dbo]模式名,其实就是你登陆到数据库服务器的用户名Top

8 楼cenpy(cenpy)回复于 2003-06-02 15:30:27 得分 0

给个示范语句吧~  
  详细点好吗?  
  谢谢!Top

相关问题

  • 怎样判断一个表在数据库中已经存在-informix数据库?
  • 如何判断数据库中某一个表是否存才?
  • SQL Server7.0中判断数据库中某个表是否存在
  • 如何判断ACCESS数据库、表是否存在
  • 请问如何判断数据库中的表是否存在?
  • 怎样判断数据库中的一张表是否存在
  • 怎样判断数据库里的表是否已经存在?
  • 如何判断表是否存在于数据库中。
  • 怎么判断数据库中的某个表是否存在
  • 怎样判断一个数据库的表名是否存在?

关键词

  • 数据库
  • 语句
  • 数据
  • null
  • 表
  • 存在
  • 创建
  • getoledbschematable
  • dbo
  • schematable

得分解答快速导航

  • 帖主:cenpy

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo