您的位置:程序门 -> .net技术 -> c#



有没有sql数据类型转换为c#类型的现成方法


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


有没有sql数据类型转换为c#类型的现成方法[已结贴,结贴人:gatr]
发表于:2007-03-29 08:21:24 楼主
有时需要将sql的数据类型和c#的数据类型相互转换,如将sqldbtype.int转为c#的int,有没有现成办法,我现在是将各种sql类型都写出来,然后通过一个函数手工转换.
发表于:2007-03-29 08:53:001楼 得分:5
没有
发表于:2007-03-29 09:06:012楼 得分:0
关注..
发表于:2007-03-29 09:06:383楼 得分:0
关注..
发表于:2007-03-29 09:07:104楼 得分:5
貌似要自己根据值域映射
发表于:2007-03-29 09:09:445楼 得分:0
不解楼主做什么?
convert.
发表于:2007-03-29 09:15:466楼 得分:5
sqldbtype.int

int
除了空值本身就是一样的了.
你为什么要进行转换呢?什么情况下你要转换?
发表于:2007-03-29 09:28:077楼 得分:5
是要这个方法吗?
                private   string   parachange(string   s,int   length)
                {
                        switch   (s)
                        {
                                case   "int ":
                                        s= "int ";
                                        break;
                                case   "varchar ":
                                        s   =   "varchar,   "   +   length   ;
                                        break;
                                case   "bit ":
                                        s   =   "bit ";
                                        break;
                                case   "datetime ":
                                        s   =   "datetime ";
                                        break;
                                case   "decimal ":
                                        s   =   "decimal ";
                                        break;
                                case   "float ":
                                        s   =   "float ";
                                        break;
                                case   "image ":
                                        s   =   "image ";
                                        break;
                                case   "money ":
                                        s   =   "money ";
                                        break;
                                case   "ntext ":
                                        s   =   "ntext ";
                                        break;
                                case   "nvarchar ":
                                        s   =   "nvarchar ";
                                        break;
                                case   "smalldatetime ":
                                        s   =   "smalldatetime ";
                                        break;  
                                case   "smallint ":
                                        s   =   "smallint ";
                                        break;
                                case   "text ":
                                        s   =   "text ";
                                        break;
                        }
                        return   s;
                }

发表于:2007-03-29 10:39:028楼 得分:0
convert.to()
发表于:2007-04-01 09:05:059楼 得分:0
是要这个方法吗?
                private   string   parachange(string   s,int   length)
                {
                        switch   (s)
                        {
                                case   "int ":
                                        s= "int ";
                                        break;
==========================
我目前就是这样做的,至于为什么要这样做,是因为我要做一个通用的保存代码,将一个datarow保存到数据库中,datarow中可以知道某一列的数据类型,如int,string,通过sql语句的参数保存时,必须指定为sqldatatype,如sqldbtype.int,例如生成语句的结果为:
insert   into   tablename(col1,col2)   values(@pa1,@pa2)
其中col1,col2可以通过datarow.table.coloumns[col1].datetype得到,但@pa1必须对应,也就是如果co1为int,则@pa1必须sqldbtype.int,因此,需要一个自动转换的过程,因为是通用代码,执行前是不知道具体类型的。
发表于:2007-04-01 09:06:0010楼 得分:0
我的写法更方便一些,直接返回typeof(int),但都是手工转换的。


快速检索

最新资讯
热门点击