以编程方式提取MS SQL表列的数据类型,以便以后插入
本文关键字:数据类型 插入 方式 编程 提取 MS SQL | 更新日期: 2023-09-27 17:48:50
Rails有一种从DB中查找列名和预期数据类型的很棒的方法,减少了很多编程。
我正试图在C#中构建这样的东西,因为我们有不断变化的大表。我会添加这样的参数:
SqlParameter param = new SqlParameter("parametername", *SqlDbType.Int*);
param.Direction = ParameterDirection.Input;
param.Value = 0;
comm.Parameters.Add(param);
请注意SqlDbType。我怎么能拿到?如果我从DataSet中获取DataColumns,那么我所能获得的只是System类型,如System.string。
为什么不让ADO.NET自动检测它:
SqlParameter param = new SqlParameter("parametername", value);
当然,你实际上也不需要方向:
comm.Parameters.Add(new SqlParameter("parametername",value));
我有点喜欢用一行代码做事:)
对于我们的项目,我们在构建SQL语句之前查询INFORMATION_SCHEMA
表。如果将DATA_TYPE
中的值从INFORMATION_SCHEMA.COLUMNS
粘贴到Enum.Parse
中,则应该会得到正确的值。