当前位置: 首页>>代码示例>>C#>>正文


C# SqlDataReader.GetSqlDecimal方法代码示例

本文整理汇总了C#中System.Data.SqlClient.SqlDataReader.GetSqlDecimal方法的典型用法代码示例。如果您正苦于以下问题:C# SqlDataReader.GetSqlDecimal方法的具体用法?C# SqlDataReader.GetSqlDecimal怎么用?C# SqlDataReader.GetSqlDecimal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.SqlClient.SqlDataReader的用法示例。


在下文中一共展示了SqlDataReader.GetSqlDecimal方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FillCompatibleITypedSettersFromReader

        // Copy multiple fields from reader to ITypedSettersV3
        //  Assumes caller enforces that reader and setter metadata are compatible
        internal static void FillCompatibleITypedSettersFromReader( SmiEventSink_Default sink, ITypedSettersV3 setters, SmiMetaData[] metaData, SqlDataReader reader ) {
            for ( int i = 0; i < metaData.Length; i++ ) {
                if ( reader.IsDBNull(i) ) {
                    ValueUtilsSmi.SetDBNull_Unchecked( sink, setters, i );
                }
                else {
                    switch ( metaData[i].SqlDbType ) {
                        case SqlDbType.BigInt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Int64 ) );
                            ValueUtilsSmi.SetInt64_Unchecked( sink, setters, i, reader.GetInt64(i) );
                            break;
                        case SqlDbType.Binary:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            ValueUtilsSmi.SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.Bit:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Boolean ) );
                            SetBoolean_Unchecked( sink, setters, i, reader.GetBoolean(i) );
                            break;
                        case SqlDbType.Char:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlChars ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.DateTime:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.DateTime ) );
                            SetDateTime_Checked( sink, setters, i, metaData[i], reader.GetDateTime(i) );
                            break;
                        case SqlDbType.Decimal:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlDecimal ) );
                            SetSqlDecimal_Unchecked( sink, setters, i, reader.GetSqlDecimal(i) );
                            break;
                        case SqlDbType.Float:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Double ) );
                            SetDouble_Unchecked( sink, setters, i, reader.GetDouble(i) );
                            break;
                        case SqlDbType.Image:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.Int:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Int32 ) );
                            SetInt32_Unchecked( sink, setters, i, reader.GetInt32(i) );
                            break;
                        case SqlDbType.Money:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlMoney ) );
                            SetSqlMoney_Unchecked( sink, setters, i, metaData[i], reader.GetSqlMoney(i) );
                            break;
                        case SqlDbType.NChar:
                        case SqlDbType.NText:
                        case SqlDbType.NVarChar:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlChars ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.Real:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Single ) );
                            SetSingle_Unchecked( sink, setters, i, reader.GetFloat(i) );
                            break;
                        case SqlDbType.UniqueIdentifier:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Guid ) );
                            SetGuid_Unchecked( sink, setters, i, reader.GetGuid(i) );
                            break;
                        case SqlDbType.SmallDateTime:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.DateTime ) );
                            SetDateTime_Checked( sink, setters, i, metaData[i], reader.GetDateTime(i) );
                            break;
                        case SqlDbType.SmallInt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Int16 ) );
                            SetInt16_Unchecked( sink, setters, i, reader.GetInt16(i) );
                            break;
                        case SqlDbType.SmallMoney:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlMoney ) );
                            SetSqlMoney_Checked( sink, setters, i, metaData[i], reader.GetSqlMoney(i) );
                            break;
                        case SqlDbType.Text:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlChars ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.Timestamp:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.TinyInt:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.Byte ) );
                            SetByte_Unchecked( sink, setters, i, reader.GetByte(i) );
                            break;
                        case SqlDbType.VarBinary:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlBytes ) );
                            SetSqlBytes_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0 );
                            break;
                        case SqlDbType.VarChar:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.String ) );
                            SetSqlChars_LengthChecked( sink, setters, i, metaData[i], reader.GetSqlChars(i), 0 );
                            break;
                        case SqlDbType.Xml:
                            Debug.Assert( CanAccessSetterDirectly( metaData[i], ExtendedClrTypeCode.SqlXml ) );
                            SetSqlXml_Unchecked( sink, setters, i, reader.GetSqlXml(i) );
                            break;
                        case SqlDbType.Variant:
//.........这里部分代码省略.........
开发者ID:uQr,项目名称:referencesource,代码行数:101,代码来源:ValueUtilsSmi.cs

示例2: getTableStringArray

        private static List<String[]> getTableStringArray(SqlDataReader reader, SqlString PrintOnlyColumnNameAliasList)
        {
            DataTable schema = reader.GetSchemaTable();

            List<String[]> results = new List<string[]>();

            int numCols = schema.Rows.Count;

            if (PrintOnlyColumnNameAliasList.ToString().Equals(""))
            {
                String[] header = new String[numCols];
                for (int i = 0; i < numCols; i++)
                {
                    DataRow row = schema.Rows[i];
                    header[i] = (row["ColumnName"].ToString());
                }
                results.Add(header);
            }
            else
            {
                var colListArray = SplitColumnNameList(ref PrintOnlyColumnNameAliasList);
                var unquotedColList = new List<string>();

                foreach(var colName in colListArray)
                {
                    if (colName.Length != 0)
                    {
                        unquotedColList.Add(colName.Replace("]]", "]"));
                    }
                }

                results.Add(unquotedColList.ToArray());
            }

            while (reader.Read()) {
                String[] rowData = new String[numCols];
                for (int i = 0; i < reader.FieldCount; i++) {

                    if (reader.IsDBNull(i)) {
                        rowData[i] = NULL_STRING;
                    } else {
                        SqlDbType dbType = (SqlDbType)schema.Rows[i]["ProviderType"];

                        switch (dbType) {
                            case SqlDbType.Date:
                                rowData[i] = SqlDateToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.SmallDateTime:
                                rowData[i] = SmallDateTimeToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.DateTime:
                                rowData[i] = SqlDateTimeToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.DateTime2:
                                rowData[i] = SqlDateTime2ToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.DateTimeOffset:
                                rowData[i] = SqlDateTimeOffsetToString(reader.GetDateTimeOffset(i));
                                break;
                            case SqlDbType.Decimal:
                                rowData[i] = reader.GetSqlDecimal(i).ToString();
                                break;
                            case SqlDbType.Float:
                                rowData[i] = reader.GetSqlDouble(i).Value.ToString("0.000000000000000E+0");
                                break;
                            case SqlDbType.Timestamp:
                            case SqlDbType.Image:
                            case SqlDbType.VarBinary:
                                rowData[i] = SqlBinaryToString(reader.GetSqlBinary(i));
                                break;
                            default:
                                rowData[i] = reader.GetValue(i).ToString();
                                break;
                        }
                    }
                }

                results.Add(rowData);
            }
            return results;
        }
开发者ID:tSQLt,项目名称:tmp,代码行数:81,代码来源:tSQLtPrivate.cs

示例3: FillCompatibleITypedSettersFromReader

 internal static void FillCompatibleITypedSettersFromReader(SmiEventSink_Default sink, ITypedSettersV3 setters, SmiMetaData[] metaData, SqlDataReader reader)
 {
     for (int i = 0; i < metaData.Length; i++)
     {
         if (reader.IsDBNull(i))
         {
             SetDBNull_Unchecked(sink, setters, i);
             continue;
         }
         switch (metaData[i].SqlDbType)
         {
             case SqlDbType.BigInt:
             {
                 SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i));
                 continue;
             }
             case SqlDbType.Binary:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
             case SqlDbType.Bit:
             {
                 SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i));
                 continue;
             }
             case SqlDbType.Char:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.DateTime:
             {
                 SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
                 continue;
             }
             case SqlDbType.Decimal:
             {
                 SetSqlDecimal_Unchecked(sink, setters, i, reader.GetSqlDecimal(i));
                 continue;
             }
             case SqlDbType.Float:
             {
                 SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i));
                 continue;
             }
             case SqlDbType.Image:
             {
                 SetSqlBytes_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlBytes(i), 0);
                 continue;
             }
             case SqlDbType.Int:
             {
                 SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i));
                 continue;
             }
             case SqlDbType.Money:
             {
                 SetSqlMoney_Unchecked(sink, setters, i, metaData[i], reader.GetSqlMoney(i));
                 continue;
             }
             case SqlDbType.NChar:
             case SqlDbType.NText:
             case SqlDbType.NVarChar:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.Real:
             {
                 SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i));
                 continue;
             }
             case SqlDbType.UniqueIdentifier:
             {
                 SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i));
                 continue;
             }
             case SqlDbType.SmallDateTime:
             {
                 SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i));
                 continue;
             }
             case SqlDbType.SmallInt:
             {
                 SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i));
                 continue;
             }
             case SqlDbType.SmallMoney:
             {
                 SetSqlMoney_Checked(sink, setters, i, metaData[i], reader.GetSqlMoney(i));
                 continue;
             }
             case SqlDbType.Text:
             {
                 SetSqlChars_LengthChecked(sink, setters, i, metaData[i], reader.GetSqlChars(i), 0);
                 continue;
             }
             case SqlDbType.Timestamp:
             {
//.........这里部分代码省略.........
开发者ID:pritesh-mandowara-sp,项目名称:DecompliedDotNetLibraries,代码行数:101,代码来源:ValueUtilsSmi.cs

示例4: GetDecimalOfInt64Test_Any

		public void GetDecimalOfInt64Test_Any ()
		{
			string crTable = "CREATE TABLE #613087 (decimalint64 decimal(20,0))";
			//string drTable = "drop table #613087";
			
			cmd.CommandText = crTable;
			cmd.CommandType = CommandType.Text;
			cmd.ExecuteNonQuery ();
			
			cmd.CommandText = "INSERT INTO #613087 VALUES (@decimalint64)";
			SqlParameter param = new SqlParameter ();
			param.ParameterName = "@decimalint64";
			param.DbType = DbType.Decimal;
			param.Value = ulong.MaxValue;
			cmd.Parameters.Add (param);
			cmd.ExecuteNonQuery ();
			
			cmd.Parameters.Clear ();
			cmd.CommandText = "Select * from #613087";
			reader = cmd.ExecuteReader();
			reader.Read ();
			Assert.AreEqual (param.Value, (ulong)reader.GetSqlDecimal (0).Value, "SqlDecimalFromInt64_Any Test failed");
		}
开发者ID:Profit0004,项目名称:mono,代码行数:23,代码来源:SqlDataReaderTest.cs

示例5: GetDecimalTest

		public void GetDecimalTest ()
		{
			cmd.CommandText = string.Format (query, "decimal1", "decimal", "int");
			reader = cmd.ExecuteReader ();
			reader.Read ();
			// Test for standard exceptions 
			GetMethodTests("Decimal");

			// Test if data is returned correctly
			Assert.AreEqual (numericRow["type_decimal1"], reader.GetDecimal(0),
				"#2 DataValidation Failed");

			// Test for standard exceptions 
			GetMethodTests("SqlDecimal");

			// Test if data is returned correctly
			Assert.AreEqual (numericRow["type_decimal1"], reader.GetSqlDecimal(0).Value,
				"#4 DataValidation Failed");
			reader.Close ();
		}
开发者ID:Profit0004,项目名称:mono,代码行数:20,代码来源:SqlDataReaderTest.cs

示例6: getTableStringArray

        private static List<String[]> getTableStringArray(SqlDataReader reader, SqlString ColumnList)
        {
            DataTable schema = reader.GetSchemaTable();

            List<String[]> results = new List<string[]>();

            int numCols = schema.Rows.Count;

            if (ColumnList.ToString().Equals(""))
            {
                String[] header = new String[numCols];
                for (int i = 0; i < numCols; i++)
                {
                    DataRow row = schema.Rows[i];
                    header[i] = row["ColumnName"].ToString();
                }
                results.Add(header);
            }
            else
            {
                results.Add(ColumnList.ToString().Split(','));
            }

            while (reader.Read()) {
                String[] rowData = new String[numCols];
                for (int i = 0; i < reader.FieldCount; i++) {

                    if (reader.IsDBNull(i)) {
                        rowData[i] = NULL_STRING;
                    } else {
                        SqlDbType dbType = (SqlDbType)schema.Rows[i]["ProviderType"];

                        switch (dbType) {
                            case SqlDbType.Date:
                                rowData[i] = SqlDateToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.SmallDateTime:
                                rowData[i] = SmallDateTimeToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.DateTime:
                                rowData[i] = SqlDateTimeToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.DateTime2:
                                rowData[i] = SqlDateTime2ToString(reader.GetDateTime(i));
                                break;
                            case SqlDbType.DateTimeOffset:
                                rowData[i] = SqlDateTimeOffsetToString(reader.GetDateTimeOffset(i));
                                break;
                            case SqlDbType.Decimal:
                                rowData[i] = reader.GetSqlDecimal(i).ToString();
                                break;
                            case SqlDbType.Float:
                                rowData[i] = reader.GetSqlDouble(i).Value.ToString("0.000000000000000E+0");
                                break;
                            case SqlDbType.Timestamp:
                            case SqlDbType.Image:
                            case SqlDbType.VarBinary:
                                rowData[i] = SqlBinaryToString(reader.GetSqlBinary(i));
                                break;
                            default:
                                rowData[i] = reader.GetValue(i).ToString();
                                break;
                        }
                    }
                }

                results.Add(rowData);
            }
            return results;
        }
开发者ID:asears,项目名称:tsqlt,代码行数:70,代码来源:tSQLtPrivate.cs


注:本文中的System.Data.SqlClient.SqlDataReader.GetSqlDecimal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。