本文整理汇总了C#中System.Data.Common.DbDataReader.Read方法的典型用法代码示例。如果您正苦于以下问题:C# DbDataReader.Read方法的具体用法?C# DbDataReader.Read怎么用?C# DbDataReader.Read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DbDataReader
的用法示例。
在下文中一共展示了DbDataReader.Read方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadDb
public static DbTable LoadDb(DbDataReader reader)
{
if (!reader.Read()) {
return null;
}
var tbl = new DbTable((string)reader["TABLE_NAME"]);
var firstColumn = new DbColumn(
(string)reader["COLUMN_NAME"],
(string)reader["DATA_TYPE"]
);
tbl.Columns = new List<DbColumn>() { firstColumn };
while (reader.Read()) {
if (tbl.Name != (string)reader["TABLE_NAME"]) {
break;
}
tbl.Columns.Add(new DbColumn(
(string)reader["COLUMN_NAME"],
(string)reader["DATA_TYPE"]
));
}
return tbl;
}
示例2: Write
public static void Write(XmlDocument target, DbDataReader source )
{
/*
Style:
<root>
<raw><name>name1</name><index>name2</index></raw>
<raw><name>name1</name><index>name2</index></raw>
<raw><name>name1</name><index>name2</index></raw>
</root>
*/
XmlNode head = target.CreateNode(XmlNodeType.Element, "head", "");
XmlNode body = target.CreateNode(XmlNodeType.Element, "body", "");
for (int i = 0; i < source.FieldCount; ++i)
{
string vl = source.GetName(i);
string local = (string)HttpContext.GetGlobalResourceObject("local", vl);
if (local != null) vl = local;
Util.AddNodedText(head, "column", vl, false);
}
while (source.Read())
{
XmlNode raw = target.CreateNode(XmlNodeType.Element, "raw", "");
for (int i = 0; i < source.FieldCount; ++i) Util.AddNodedText(raw, "value", Util.GetString( source, i ), false);
body.AppendChild(raw);
}
target.FirstChild.AppendChild(head);
target.FirstChild.AppendChild(body);
}
示例3: ConvertDataReaderToDataTable
public static DataTable ConvertDataReaderToDataTable(DbDataReader reader)
{
try
{
DataTable table = new DataTable();
int fieldCount = reader.FieldCount;
for (int fieldIndex = 0; fieldIndex < fieldCount; ++fieldIndex)
{
table.Columns.Add(reader.GetName(fieldIndex), reader.GetFieldType(fieldIndex));
}
table.BeginLoadData();
object[] rowValues = new object[fieldCount];
while (reader.Read())
{
reader.GetValues(rowValues);
table.LoadDataRow(rowValues, true);
}
reader.Close();
table.EndLoadData();
return table;
}
catch (Exception ex)
{
throw new Exception("DataReader转换为DataTable时出错!", ex);
}
}
示例4: Table
public Table(DbDataReader reader)
{
Headers = Enumerable.Range(0, reader.FieldCount).Select(column => reader.GetName(column)).ToList();
Rows = new List<List<string>>();
while (reader.Read())
Rows.Add(Enumerable.Range(0, reader.FieldCount).Select(column => reader[column]).Select(value => GetDBValue(value)).ToList());
}
示例5: Postprocess
public void Postprocess(DbDataReader reader, IList<Exception> exceptions)
{
reader.Read();
var values = reader.GetFieldValue<int[]>(0);
applyDataFromSproc(values);
}
示例6: Print
public static void Print(string sql, DbDataReader reader)
{
log.Info("Results of [" + sql + "]");
string results = "\n";
if (reader.HasRows)
{
for (int j = 0; j < reader.FieldCount; j++)
{
results += reader.GetName(j);
if (j < reader.FieldCount - 1)
{
results += "|";
}
}
results += "\n";
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
results += reader.GetValue(i);
if (i < reader.FieldCount - 1)
{
results += "|";
}
}
results += "\n";
}
results = results.Substring(0, results.Length - 1);
log.Info(results);
}
}
示例7: Page_Load
protected void Page_Load(object sender, EventArgs e)
{
if (Session["uname"] == null)
{
Response.Write("<script>alert('系统超时或非法登录,请重新登录!');window.location.href='default.aspx';</script>");
return;
}
if (Session["uid"]==null)
{
Response.Write("<script>alert('系统超时或非法登录,请重新登录!');window.location.href='default.aspx';</script>");
return;
}
if (Session["ucount"] == null)
{
Response.Write("<script>alert('系统超时或非法登录,请重新登录!');window.location.href='default.aspx';</script>");
return;
}
string uid = Session["uid"].ToString();
dbh = new DbHelper();
string sql;
sql = string.Format("select count(*) from userinfo where parent_id='{0}' ", uid);
DbCommand dbc = dbh.GetSqlStringCommond(sql);
int count=int.Parse(dbh.ExecuteScalar(dbc).ToString());
int usercount = int.Parse(Session["ucount"].ToString()); ;
if (count >= usercount)
{
Response.Write("<script>alert('用户最大数超出设定范围,请联系管理员!');window.location.href='userlist.aspx';</script>");
return;
}
if (Request["id"] != null)
{
id = Request["id"];
sql = string.Format("select * from userinfo where id='{0}' ", Request["id"]);
DbCommand dbc3 = dbh.GetSqlStringCommond(sql);
dbr = dbh.ExecuteReader(dbc3);
dbr.Read();
tb_guid.Text = dbr["guid"].ToString();
tb_memo.Text = dbr["memo"].ToString();
tb_buydate.Text = dbr["buy_date"].ToString();
tb_stopdate.Text = dbr["stop_date"].ToString();
tb_username.Text = dbr["user_name"].ToString();
rb_stop.Checked = dbr["active"].ToString() == "0" ? true : false;
rb_active.Checked = dbr["active"].ToString() == "0" ? false : true;
}
else
{
tb_guid.ReadOnly = false;
tb_buydate.Text = DateTime.Now.ToString("yyyyMMdd");
tb_stopdate.Text = DateTime.Now.AddYears(1).ToString("yyyyMMdd");
rb_stop.Checked = true;
}
}
示例8: Map
public static ResultSet Map(DbDataReader dr) {
int numberOfColumns = dr.FieldCount;
string[] colNames = GetColumnNames(dr, numberOfColumns);
var table = new ResultSet(colNames);
while (dr.Read()) {
MapRow(dr, numberOfColumns, table);
}
return table;
}
示例9: GetArticles
/// <summary>
/// ��ȡ���ݼ��ϡ�
/// </summary>
/// <param name="dataReader"></param>
/// <returns></returns>
public static List<Article> GetArticles(DbDataReader dataReader)
{
// ������
List<Article> articles = new List<Article>();
while (dataReader.Read())
{
Article article = new Article();
article.ArticleId = Convert.ToInt32(dataReader["ArticleId"]);
article.ArticleGuid = (Guid)dataReader["ArticleGuid"];
// ��ȡ Category ����
article.Category.CategoryId = Convert.ToInt32(dataReader["CategoryId"]);
article.Category.CategoryGuid = (Guid)dataReader["CategoryGuid"];
article.Category.CategoryName = Convert.ToString(dataReader["CategoryName"]);
article.Category.ParentGuid = (Guid)dataReader["ParentGuid"];
article.Category.Rank = Convert.ToInt32(dataReader["Rank"]);
article.Category.RecordCount = (int)dataReader[CategoryField.RecordCount];
if (dataReader["MetaKeywords"] != DBNull.Value)
article.MetaKeywords = Convert.ToString(dataReader["MetaKeywords"]);
if (dataReader["MetaDesc"] != DBNull.Value)
article.MetaDesc = Convert.ToString(dataReader["MetaDesc"]);
article.Title = Convert.ToString(dataReader["Title"]);
if (dataReader["TitleColor"] != DBNull.Value)
article.TitleColor = Convert.ToString(dataReader["TitleColor"]);
if (dataReader["SubTitle"] != DBNull.Value)
article.SubTitle = Convert.ToString(dataReader["SubTitle"]);
if (dataReader["Summary"] != DBNull.Value)
article.Summary = Convert.ToString(dataReader["Summary"]);
if (dataReader["ContentHtml"] != DBNull.Value)
article.ContentHtml = Convert.ToString(dataReader["ContentHtml"]);
if (dataReader["Editor"] != DBNull.Value)
article.Editor = (Guid)dataReader["Editor"];
if (dataReader["Author"] != DBNull.Value)
article.Author = Convert.ToString(dataReader["Author"]);
if (dataReader["Original"] != DBNull.Value)
article.Original = Convert.ToString(dataReader["Original"]);
article.Rank = Convert.ToInt32(dataReader["Rank"]);
article.Hits = Convert.ToInt32(dataReader["Hits"]);
article.Comments = Convert.ToInt32(dataReader["Comments"]);
article.Votes = Convert.ToInt32(dataReader["Votes"]);
article.DateCreated = Convert.ToDateTime(dataReader["DateCreated"]);
articles.Add(article);
}
dataReader.Close();
return articles;
}
示例10: Read
private static IEnumerable<object[]> Read(DbDataReader reader)
{
while (reader.Read())
{
var values = new List<object>();
for (int i = 0; i < reader.FieldCount; i++)
{
values.Add(reader.GetValue(i));
}
yield return values.ToArray();
}
}
示例11: ExportExcel
public static void ExportExcel(DbDataReader dataReader, string strTitle, string fileFullPath, bool isAutoFit)
{
Workbook workbook = new Workbook();
workbook.Worksheets.Add();
object[] header = new object[dataReader.FieldCount];
bool first = true;
int rowIndex = 0;
Style style = new Style();
while (dataReader.Read())
{
for (int i = 0; i < dataReader.FieldCount; i++)
{
if (first)
{
style.Custom = "@";
style.Font.IsBold = true;
workbook.Worksheets[0].Cells[rowIndex, i].SetStyle(style);
workbook.Worksheets[0].Cells[rowIndex, i].Value = dataReader.GetName(i);
}
style.Font.IsBold = false; if (dataReader[i] is string)
{
style.Custom = "@";
}
else if (dataReader[i] is DateTime)
{
style.Custom = "yyyy-MM-dd";
}
else if (dataReader[i] is decimal)
{
style.Custom = "####.#####";
style.ShrinkToFit = true;
}
workbook.Worksheets[0].Cells[rowIndex + 1, i].SetStyle(style);
workbook.Worksheets[0].Cells[rowIndex + 1, i].Value = dataReader[i];
}
first = false;
rowIndex++;
}
if (isAutoFit)
{
workbook.Worksheets[0].AutoFitColumns();
workbook.Worksheets[0].AutoFitRows(true);
}
if (fileFullPath.ToLower().EndsWith(".xlsx"))
workbook.Save(fileFullPath, FileFormatType.Excel2007Xlsx);
else
workbook.Save(fileFullPath, FileFormatType.Default);
}
示例12: BulkCopy
public void BulkCopy(DbDataReader dr, string tblName, int startCol)
{
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(adoSqlCon))
{
bulkCopy.DestinationTableName = tblName;
while (startCol > 0)
{
dr.Read();
startCol--;
}
bulkCopy.BulkCopyTimeout = 3600;
bulkCopy.WriteToServer(dr);
}
}
示例13: CorePublishImpl
protected override void CorePublishImpl(TableConfiguration configuration, IUnitOfWork destinationUnitOfWork, DbDataReader sourceDataReader, out long rowsCopied)
{
IEnumerable<IResultset> resultsets;
IEnumerable<DbParameter> dbParameters;
long _rowsCopied = 0;
if ((object)configuration == null)
throw new ArgumentNullException(nameof(configuration));
if ((object)destinationUnitOfWork == null)
throw new ArgumentNullException(nameof(destinationUnitOfWork));
if ((object)sourceDataReader == null)
throw new ArgumentNullException(nameof(sourceDataReader));
if ((object)this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand == null)
throw new InvalidOperationException(string.Format("Configuration missing: '{0}'.", nameof(this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand)));
if (SolderLegacyInstanceAccessor.DataTypeFascadeLegacyInstance.IsNullOrWhiteSpace(this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand.CommandText))
throw new InvalidOperationException(string.Format("Configuration missing: '{0}.{1}'.", nameof(this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand), nameof(this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand.CommandText)));
while (sourceDataReader.Read())
{
dbParameters = this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand.GetDbDataParameters(destinationUnitOfWork);
dbParameters = dbParameters.Select(p =>
{
// prevent modified closure bug
var _sourceDataReader = sourceDataReader;
// lazy load
p.Value = _sourceDataReader[p.SourceColumn];
return p;
});
resultsets = destinationUnitOfWork.ExecuteResultsets(this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand.CommandType ?? CommandType.Text,
this.AdapterConfiguration.AdapterSpecificConfiguration.ExecuteCommand.CommandText,
dbParameters);
resultsets.ToArray();
_rowsCopied++;
}
rowsCopied = _rowsCopied;
Console.WriteLine("DESTINATION (update): rowsCopied={0}", rowsCopied);
}
示例14: DataTable
public DataTable(DbDataReader reader)
{
this.fields = new List<string>();
this.data = new List<object[]>();
for (int i = 0; i < reader.FieldCount; i++)
{
fields.Add(reader.GetName(i));
}
while (reader.Read())
{
object[] values = new object[reader.FieldCount];
for (int i = 0; i < fields.Count; i++)
{
values[i] = reader.GetValue(reader.GetOrdinal(fields[i]));
}
data.Add(values);
}
}
示例15: DataResult
public DataResult(DbDataReader reader)
{
ColumnNames =
Enumerable.Range(0, reader.FieldCount)
.Select(x => reader.GetName(x))
.ToList();
Rows = new List<RowData>();
while (reader.Read()) {
Dictionary<string, string> rowData = new Dictionary<string, string>();
for (var i = 0; i < reader.FieldCount; i++) {
if (reader[i].GetType() == typeof(DateTime)) {
// Use ISO time
rowData[ColumnNames[i]] = ((DateTime)reader[i]).ToString("s");
} else {
rowData[ColumnNames[i]] = reader[i].ToString();
}
}
Rows.Add(rowData);
}
}