本文整理汇总了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:
//.........这里部分代码省略.........
示例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;
}
示例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:
{
//.........这里部分代码省略.........
示例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");
}
示例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 ();
}
示例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;
}