gpt4 book ai didi

c# - 我们如何从 getschemaTable 中获取列大小和数据类型?

转载 作者:太空狗 更新时间:2023-10-30 01:59:01 25 4
gpt4 key购买 nike

我是一个新手,我正在尝试从我的数据库中的某个表中检索列名称、大小(最大长度)和数据类型,当我执行以下代码时,它希望它显示所有列类型和名称(我没有找到如何引用 Size ,我使用了 ColumnSize 但据说 DataColumn 不包含此方法的定义)但是执行它时,它只显示:IsColumnSetSystem.Boolean这是代码:

private void button1_Click(object sender, EventArgs e)
{
string EF = textBox1.Text;

try{
//SqlDataAdapter adapter = SetupDataAdapter("SELECT * FROM id_declarant");
SqlCommand comm = new SqlCommand();
string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=declaration;Integrated Security=True";
comm.Connection=new SqlConnection(connectionString);
String sql = @"SELECT *
FROM id_declarant,declarant
WHERE (declarant.Nom_pren_RS='" + EF + "') and (id_declarant.mat_fisc=declarant.mat_fisc) ";
comm.CommandText = sql;
comm.Connection.Open();
SqlDataReader reader = comm.ExecuteReader();
DataTable schemaTable = reader.GetSchemaTable();
foreach (DataRow row in schemaTable.Rows)
{
foreach (DataColumn column in schemaTable.Columns)
{
System.IO.File.WriteAllText(@"C:\Users\Manuela\Documents\GL4\WriteLines.txt", column.ColumnName + column.DataType );

}
}

最佳答案

也许我对这个有点不满意,但要获取列的名称、大小和数据类型,您可以试试这个:

DataTable schemaTable = reader.GetSchemaTable();
foreach (DataRow row in schemaTable.Rows)
{
var name = row["ColumnName"];
var size = row["ColumnSize"];
var dataType = row["DataTypeName"];
//append these to a string or StringBuilder for writing out later...
}

但这也许不是您想要的?

关于c# - 我们如何从 getschemaTable 中获取列大小和数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17211155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com