使用PropertyDescriptor应该可以。
解决方案 »
- 今天面试题,很急求大家帮忙 22除以7求后面的300位小数点用递归实现
- 下载了log4net-1.2.10 不知道怎么用
- 如何从ORACLE中复制表到SQL
- 我有两台机器,一台单位的(系统是c盘),一台家里的(系统是d盘)。可以互相拷贝项目文件夹,做同一个项目吗?
- C#中如何把excel中数据导入
- 关于将 object 数组 转换成具体数组类的问题。
- 求C#模拟登录网站,带验证码例子
- WinForm中下列e.Graphics.DrawImage输出以豪米为单位
- csdn分数是怎么管理的?发帖不能没有分,发了帖又没有人回答分不知跑哪去了,又拿不回.究竟里面是怎么运作的?
- TCPListener最多支持多少个长连接
- 安装问题:
- 如何显示数据库里所有表结构呢?
this.sqlDataAdapter1.SelectCommand.CommandText = "sp_help table1";
DataSet ds = new DataSet();
this.sqlDataAdapter1.Fill(ds,"table1");
this.dataGrid1.DataSource = ds.Tables[1].DefaultView;
this.sqlConnection1.Close();
for(int i=0;i<ds.Tables[1].Rows.Count;i++)
{
this.listBox1.Items.Add(ds.Tables[1].Rows[i]["type"].ToString());
}
但是还有一点点小问题:能否直接得到对应的SqlDbType枚举值?最好不要自己用分支结构来判断。另外,能否不通过sp_help这个存储过程,而直接用dotNet的语句得出?
先给帖子涨分先,请朋友们继续回答!
this.sqlDataAdapter1.SelectCommand.CommandText = "select * from table1 where 1=2";
DataSet ds = new DataSet();
this.sqlDataAdapter1.FillSchema(ds,System.Data.SchemaType.Mapped);这样用DataColumn.DateType应该可以了
先表示感谢!
但我试验了FillSchema的多个重载版本,都没有成功。不知道我错在什么地方……
你查一下这几个表的说明就可以了
exec sp_MShelpcolumns 'yourtable'
啥都有了
{
DataSet ColumsDs=new DataSet();
string strSQL="SELECT SYS.USER_COL_COMMENTS.TABLE_NAME as TABLE_NAME,SYS.USER_COL_COMMENTS.COLUMN_NAME as COLUMN_NAME, SYS.USER_COL_COMMENTS.COMMENTS as COMMENTS FROM SYS.USER_COL_COMMENTS WHERE NOT (SYS.USER_COL_COMMENTS.COMMENTS IS NULL)";
ColumsDs=this.ExecuteSqlReturnDataSet(strSQL,"USER_COL_COMMENTS");
return ColumsDs;
}
/// <summary>
/// 获取字段类型
/// </summary>
/// <param name="ColumsTypeDs">字段类型DataSet</param>
public DataSet GetColumsType()
{
oracle,可以这样 DataSet ColumsTypeDs=new DataSet();
string strSQL="SELECT SYS.USER_TAB_COLUMNS.TABLE_NAME as TABLE_NAME,SYS.USER_TAB_COLUMNS.COLUMN_NAME as COLUMN_NAME,SYS.USER_TAB_COLUMNS.DATA_TYPE as DATA_TYPE FROM SYS.USER_TAB_COLUMNS";
ColumsTypeDs=this.ExecuteSqlReturnDataSet(strSQL,"USER_TAB_COLS");
return ColumsTypeDs;
}