有没有一种使用ADO.NET的方法来确定与任何数据提供程序一起使用的数据库中是否存在表?
我目前正在做这样的事情:
bool DoesTableExist(string tableName)
{
DbCommand command = this.dbConnection.CreateCommand();
command.CommandText = "SELECT 1 FROM " + tableName;
try
{
using (DbDataReader reader = command.ExecuteReader())
{
return true;
}
}
catch (DbException)
{
return false;
}
}
我希望有一种方法不涉及捕获异常。
好了,您可以使用该Connection.GetSchema("TABLES")
方法。
这将返回,DataTable
其中将包含数据库中所有表的行。在这里,您可以对此进行检查,看看该表是否存在。
然后可以进一步采取以下措施:
private static bool DoesTableExist(string TableName)
{
using (SqlConnection conn =
new SqlConnection("Data Source=DBServer;Initial Catalog=InitialDB;User Id=uname;Password=pword;"))
{
conn.Open();
DataTable dTable = conn.GetSchema("TABLES",
new string[] { null, null, "MyTableName" });
return dTable.Rows.Count > 0;
}
}
如果您使用的是.NET 3.5,则也可以将其作为扩展方法。
本文向大家介绍C#使用ADO.Net部件来访问Access数据库的方法,包括了C#使用ADO.Net部件来访问Access数据库的方法的使用技巧和注意事项,需要的朋友参考一下 数据库的访问是所有编程语言中最重要的部分,C#提供了ADO.Net部件用于对数据库进行访问。我们将从最简单易用的微软Access数据库入手讨论在C#中对数据库的访问。 C#中的Connection对象和Command对象与A
问题内容: 有没有办法检查输入流()是否有数据? 从GO的初始stdin中读取帖子?显示了如何读取数据,但是不幸的是,如果没有数据通过管道传送到stdin中,则会阻塞。 问题答案: os.Stdin与其他任何“文件”一样,因此您可以检查其大小: 我将其构建为“管道”可执行文件,其工作方式如下:
正如标题所述。转义数字输入是标准程序/做法吗? 我知道文本字段应该转义,但我想知道是否需要转义数字。
问题内容: 我知道你可以打电话 如果它不是可执行文件,则会得到一个异常,但这是不安全的,因为运行可执行文件会产生副作用。 我想只检查扩展名在Windows上就足够了,但是有没有办法我可以读取* nix文件系统上的可执行文件呢? 找出文件在OS中是否可执行的最佳方法是什么? 问题答案: 参见java.io.File.canExecute()
我正在使用@DataProvider使用TestNG 6.14.3Java编写单元测试 我想实现的目标: 我想为每个数据提供程序案例命名 我所尝试的: > 我添加了一个额外的参数并遵循了此指南,问题是现在我在每个我不想要的测试中都有一个未使用的参数。 创建一个忽略第一个参数的自定义数据提供程序注释,这不起作用,因为我找不到将其与TestNG集成的方法。 我的问题: 是否有一种内置的方式为测试用例提
我在vbnet Express2012上使用内置的数据源制作了这个程序,当我复制mdf文件部署该程序时,该程序将无法在客户端机器上工作。我的客户不想在他的机器上安装SQL server,他只想使用简单的程序,简单的数据库存储在程序旁边的文件中。在VB6中很容易访问mdb文件,但使用mdf文件时,它就不起作用了。我试图创建mdb文件数据库,vbnet不连接到它,我读到它需要强制cpu到x86,所以决