【问题标题】:How to get length of a specific column in a table如何获取表中特定列的长度
【发布时间】:2016-11-03 15:39:21
【问题描述】:

我正在尝试获取表中特定列的长度,该表来自 Visual Studio C# 表单应用程序中名为 Users 的数据库。首先,我知道它与column.length 命令有关,但是由于我搜索了这些示例,因此我迷路了。

谁能告诉我一个简单的方法来实现这一点?有关更具体的信息,我有一个名为user_info 的表,它包含一个名称为searches 的列。我想把搜索的长度变成一个变量

【问题讨论】:

  • 你的意思是SELECT COUNT(searches) FROM user_info?
  • 您是否在寻求有关 SQL 部分的帮助?还是 C# 部分?请更具体地说明您究竟有/没有尝试过什么,发布您的源代码,并指出您遇到问题的地方
  • 是的,我想先SELECT该列,然后获取所选列的长度
  • 也可以查看这个答案:stackoverflow.com/a/71330103/8644294

标签: c# database


【解决方案1】:

这是您需要从数据库中提取列大小的 C# 代码。确保更新 connString 变量以包含您自己的 SQL 服务器连接字符串。

例如:"Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)"

Int32 columnSize = 0;
string sql = "SELECT CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'user_info' AND COLUMN_NAME = 'searches'";
string connString = "Your Sql Server Connection String";
using (SqlConnection conn = new SqlConnection(connString))
{
   SqlCommand cmd = new SqlCommand(sql, conn);
   try
   {
      conn.Open();
      columnSize = (Int32)cmd.ExecuteScalar();
   }
   catch (Exception ex)
   {
      Console.WriteLine(ex.Message);
   }
}

【讨论】:

  • CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS能告诉我这个的具体含义吗?
  • CHARACTER_MAXIMUM_LENGTH 是二进制数据、字符数据或文本和图像数据的最大长度(以字符为单位)。 INFORMATION_SCHEMA.COLUMNS 视图允许您获取有关数据库中所有表和视图的所有列的信息。 msdn.microsoft.com/en-us/library/ms188348.aspxmssqltips.com/sqlservertutorial/183/informationschemacolumns
  • 这个答案有帮助吗?
  • 我还没有登记入住。当我非常感谢您的时间@jtoddcs 时,我会通知您
猜你喜欢
  • 2013-12-07
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多