`

[转]【SqlServer数据类型、C#数据类型、SqlDbType】对应关系及转换

    博客分类:
  • C#
阅读更多
转载自 guke1991
最终编辑 guke1991
// SqlDbType转换为C#数据类型
public static Type SqlType2CsharpType(SqlDbType sqlType)
{
switch (sqlType)
{
       case SqlDbType.BigInt:
         return typeof(Int64);
       case SqlDbType.Binary:
         return typeof(Object);
       case SqlDbType.Bit:
         return typeof(Boolean);
       case SqlDbType.Char:
         return typeof(String);
       case SqlDbType.DateTime:
         return typeof(DateTime);
       case SqlDbType.Decimal:
         return typeof(Decimal);
       case SqlDbType.Float:
         return typeof(Double);
       case SqlDbType.Image:
         return typeof(Object);
       case SqlDbType.Int:
         return typeof(Int32);
       case SqlDbType.Money:
         return typeof(Decimal);
       case SqlDbType.NChar:
         return typeof(String);
       case SqlDbType.NText:
         return typeof(String);
       case SqlDbType.NVarChar:
         return typeof(String);
       case SqlDbType.Real:
         return typeof(Single);
       case SqlDbType.SmallDateTime:
         return typeof(DateTime);
       case SqlDbType.SmallInt:
         return typeof(Int16);
       case SqlDbType.SmallMoney:
         return typeof(Decimal);
       case SqlDbType.Text:
         return typeof(String);
       case SqlDbType.Timestamp:
         return typeof(Object);
       case SqlDbType.TinyInt:
         return typeof(Byte);
       case SqlDbType.Udt://自定义的数据类型
         return typeof(Object);
       case SqlDbType.UniqueIdentifier:
         return typeof(Object);
       case SqlDbType.VarBinary:
         return typeof(Object);
       case SqlDbType.VarChar:
         return typeof(String);
       case SqlDbType.Variant:
         return typeof(Object);
       case SqlDbType.Xml:
         return typeof(Object);
       default:
         return null;
}
}
代码:
// sql server数据类型(如:varchar)
// 转换为SqlDbType类型
public static SqlDbType SqlTypeString2SqlType(string sqlTypeString)
{
SqlDbType dbType = SqlDbType.Variant;//默认为Object

switch (sqlTypeString)
{
       case "int":
         dbType = SqlDbType.Int;
         break;
       case "varchar":
         dbType = SqlDbType.VarChar;
         break;
       case "bit":
         dbType = SqlDbType.Bit;
         break;
       case "datetime":
         dbType = SqlDbType.DateTime;
         break;
       case "decimal":
         dbType = SqlDbType.Decimal;
         break;
       case "float":
         dbType = SqlDbType.Float;
         break;
       case "image":
         dbType = SqlDbType.Image;
         break;
       case "money":
         dbType = SqlDbType.Money;
         break;
       case "ntext":
         dbType = SqlDbType.NText;
         break;
       case "nvarchar":
         dbType = SqlDbType.NVarChar;
         break;
       case "smalldatetime":
         dbType = SqlDbType.SmallDateTime;
         break;
       case "smallint":
         dbType = SqlDbType.SmallInt;
         break;
       case "text":
         dbType = SqlDbType.Text;
         break;
       case "bigint":
         dbType = SqlDbType.BigInt;
         break;
       case "binary":
         dbType = SqlDbType.Binary;
         break;
       case "char":
         dbType = SqlDbType.Char;
         break;
       case "nchar":
         dbType = SqlDbType.NChar;
         break;
       case "numeric":
         dbType = SqlDbType.Decimal;
         break;
       case "real":
         dbType = SqlDbType.Real;
         break;
       case "smallmoney":
         dbType = SqlDbType.SmallMoney;
         break;
       case "sql_variant":
         dbType = SqlDbType.Variant;
         break;
       case "timestamp":
         dbType = SqlDbType.Timestamp;
         break;
       case "tinyint":
         dbType = SqlDbType.TinyInt;
         break;
       case "uniqueidentifier":
         dbType = SqlDbType.UniqueIdentifier;
         break;
       case "varbinary":
         dbType = SqlDbType.VarBinary;
         break;
       case "xml":
         dbType = SqlDbType.Xml;
         break;
}
return dbType;
}
代码:

// sql server中的数据类型,转换为C#中的类型类型
public static Type SqlTypeString2CsharpType(string sqlTypeString)
{
SqlDbType dbTpe = SqlTypeString2SqlType(sqlTypeString);

return SqlType2CsharpType(dbTpe);
}

// 将sql server中的数据类型,转化为C#中的类型的字符串
public static string SqlTypeString2CsharpTypeString(string sqlTypeString)
{
Type type = SqlTypeString2CsharpType(sqlTypeString);

return type.Name;
}

http://chinadforce.com/viewthread.php?tid=1128382

 

分享到:
评论

相关推荐

    C# 存取SqlServer中的Image类型.txt

    注意,需要设置参数的`SqlDbType`为`VarBinaryMax`,因为Image类型在SQL Server 2008及更高版本中已被弃用,推荐使用`VarBinaryMax`。 ```csharp command.Parameters.Add("@ImageData", SqlDbType.VarBinaryMax)....

    C#实现SQL Server中存取图片、文件

    2. **SQL Server**:由微软提供的关系型数据库管理系统,支持多种数据类型,包括图像数据类型。 3. **图片/文件的存储**:在数据库中存储图片和文件通常有两种方式:存储文件本身(二进制大对象,即BLOB)和存储文件...

    Sql和C#数据类对照

    本文将详细解释SQL Server与C#中常见数据类型的对应关系。 #### 1. 整型数据类型 - **SqlDbType bigint**: 在SQL Server中,`bigint`类型用于存储大整数值,范围是-2^63到2^63-1。在C#中,对应的类型为`System.Int...

    C#图片转换成二进制流并且保存到sql server数据库.pdf

    "C#图片转换成二进制流并保存到SQL Server数据库" 本文将详细讲解如何使用C#将图片转换成二进制流并保存到SQL Server数据库。以下是相关知识点的总结: 一、图片转换成二进制流 在C#中,可以使用FileStream类来...

    c#往sqlserver2000数据库中插入时间型数据的空值

    在SQL Server 2000中,时间型数据类型通常包括`datetime`,它存储日期和时间信息。当你尝试直接插入`null`时,由于数据库默认行为,可能会被转化为1900年1月1日的日期。为了避免这种情况,我们需要采用参数化查询的...

    sqlce和sqlserver转移数据可以扩展到oracle

    对于`Image`字段,使用`SqlDbType.Binary`或`varbinary(max)`数据类型进行操作。 5. **处理异常**:在整个迁移过程中,应捕获并处理可能出现的任何错误,如网络中断、数据不匹配等。 6. **验证数据**:迁移完成后...

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    C#实现图片与二进制相互转换及数据库存储 本文主要介绍了C#实现把图片转换成二进制以及把二进制转换成图片的方法,并结合具体实例形式分析了基于C#的图片与二进制相互转换以及图片保存到数据库的相关操作技巧。 一...

    C#操纵SQLServer的类

    C#和SQL Server的结合,使得开发者能够方便地在C#程序中执行SQL查询、操作数据库以及管理数据。 1. ADO.NET基础:ADO.NET是.NET框架的一部分,提供了一组用于连接数据库、执行命令、处理结果集的类库。在C#中,我们...

    用C# 编程将Excel 文档数据导入SQLServer数据库

    在实际项目中,你可能需要处理更多细节,如异常处理、数据类型转换、错误记录等。在处理大量数据时,为了提高效率,可以考虑使用批处理或存储过程来导入数据。 在你提供的压缩包文件“ImportDataForW2”中,可能...

    C# txt文本数据导入sql server

    ### C# 中将TXT文本数据导入SQL Server 的方法 在本篇内容中,我们将探讨如何使用C#将TXT文本文件中的数据逐行读取并导入到SQL Server数据库中,并同时在ListBox控件中显示导入结果的过程。这不仅适用于简单的文本...

    c#读写PDF文件sql

    在本文中,我们将介绍如何使用 C# 语言读写 PDF 文件,并将其存储到 SQL Server 数据库中。 1. 读取 PDF 文件 要读取 PDF 文件,需要使用 FileStream 对象来读取文件,并将其转换为 byte 数组。下面是读取 PDF ...

    store-image-in-sql-server.zip_C# sql image_in_sql server image

    SQL Server支持多种数据类型来存储非结构化数据,如图像、文本等。其中,`image`数据类型(在较新的版本中已被`varbinary(max)`替代)用于存储二进制大数据,非常适合存放图像文件。 C#是.NET框架的一部分,通常...

    C#连接sql server 2005的存储过程例子大全.rar

    在IT领域,数据库操作是应用程序开发中的重要环节,而C#作为.NET框架的主要编程语言,经常用于构建与SQL Server数据库的交互。本压缩包“C#连接sql server 2005的存储过程例子大全.rar”提供了一系列示例,帮助...

    连接SQLserver 生成访问存储过程的C#代码 - 2

    在C#开发中,与SQL Server数据库进行交互是一项常见的任务,这通常涉及到调用存储过程来执行特定的数据库操作。本篇文章将详细探讨如何在C#中连接到SQL Server并生成访问存储过程的代码,特别是针对描述中的"第二种...

    将图片转化为二进制流存入SQL

    2. **SQL Server**: 一个由微软公司开发的关系型数据库管理系统,支持多种数据类型,包括用于存储二进制数据的`Image`类型。 3. **C#**: 一种面向对象的编程语言,拥有强大的标准库支持,可以方便地进行文件操作和...

    上传图片到sql server

    SQL Server提供了`VARBINARY(MAX)`和`IMAGE`数据类型(自SQL Server 2008起已弃用)来存储二进制数据,如图片。在最新的版本中,`VARBINARY(MAX)`是推荐的选择,因为它可以存储最大2^31 - 1个字节的数据,足够大多数...

    C#winform导入excel到SQL Server

    注意,这个示例假设所有数据都是字符串类型,你可能需要根据实际数据类型调整参数设置。此外,为了适应不同的Excel文件,你可能需要增加错误处理和灵活性,例如检查工作表数量,处理不同类型的Excel文件(.xls和....

    C# sql实现批量导入数据到数据库

    本主题聚焦于使用C#语言与SQL技术来实现批量导入数据到数据库的三种方法:普通方法、SqlBulkCopy和使用表值参数(TVP)。我们将详细探讨这些方法及其优缺点。 首先,让我们来看看**普通方法**。这种方法通常涉及...

    Sql Server参数化查询之where in和like实现详解

    Sql Server参数化查询之where in和like实现详解 在Sql Server中,参数化查询是提高查询性能和防止SQL注入攻击的有效方法之一。其中,where in和like是两个常用的查询条件,然而它们的参数化实现却不是那么简单。...

Global site tag (gtag.js) - Google Analytics