相关疑难解决方法(0)

检查SqlDataReader对象中的列名称

如何检查SqlDataReader对象中是否存在列?在我的数据访问层中,我创建了一个方法,为多个存储过程调用构建相同的对象.其中一个存储过程具有另一个列,其他存储过程不使用该列.我想修改方法以适应每个场景.

我的应用程序是用C#编写的.

.net c# sqldatareader

204
推荐指数
10
解决办法
14万
查看次数

如何轻松将DataReader转换为List <T>?

我有一个数据DataReader,我希望将其转换为List<T>.对此有什么简单的解决方案?

例如,在CustomerEntity类中,我有CustomerId和CustomerName属性.如果我的DataReader将这两列作为数据返回,那么我该如何将其转换为List<CustomerEntity>.

c# datareader generic-list

112
推荐指数
8
解决办法
26万
查看次数

带有列名的DataReader到.CSV

我正在从SqlDataReader生成一个csv文件,但是它没有写出列名,我怎么能让它写出来?我正在使用的代码如下:

SqlConnection conn = new SqlConnection(myconn);
SqlCommand cmd = new SqlCommand("dbo.test", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();

StringBuilder sb = new StringBuilder();
StreamWriter sw = new StreamWriter(myfilePath + "testfile.csv"); 
while (reader.Read())
{
    for (int i = 0; i < reader.FieldCount; i++)
    {
        string value = reader[i].ToString();
        if (value.Contains(","))
            value = "\"" + value + "\"";

        sb.Append(value.Replace(Environment.NewLine, " ") + ",");
    }
    sb.Length--; // Remove the last comma
    sb.AppendLine();
}
conn.Close();
sw.Write(sb.ToString());
sw.Close();
Run Code Online (Sandbox Code Playgroud)

c# sql-server

11
推荐指数
3
解决办法
2万
查看次数

如何将数据读取器转换为动态查询结果

我有一个View,通常从WebMatrix查询(IEnumerable<dynamic>数据类型)获取查询结果,并在表中显示结果:

@model MySite.Models.Entity
@foreach(var row in Model.Data)
{
    <tr>
        @foreach (var column in row.Columns)
        {
            <td>@column<span>:</span> @row[column]</td>
        }
    </tr>
}
Run Code Online (Sandbox Code Playgroud)

这是我查询数据库的模型:

public class Entity
{
    public dynamic Data {get; set; }
    public Entity(String table)
    {
        if (table == "User" || table == "Group)
        {
            WebMatrix.Data.Database db = new WebMatrix.Data.Database();
            db.Open(ConString);
            Data = db.Query("SELECT * FROM " + table);
        }
        else
        {
            using (OdbcConnection con = ne4w OdbcConnection(ConString))
            {
                OdbcCommand com = new OdbcCommand("Select * From " + table); …
Run Code Online (Sandbox Code Playgroud)

c# webmatrix

10
推荐指数
1
解决办法
1万
查看次数

我可以从DataReader创建匿名类型集合吗?

我有这个代码:

var query = "SELECT * FROM Cats";

var conn = new SqlConnection(sqlConnectionString);

conn.Open();

var cmd = new SqlCommand(query);
var reader = cmd.ExecuteReader();

while (reader.Read())
{
    var CatName = reader.GetString(0);
    var CatDOB = reader.GetDateTime(1);
    var CatStatus = reader.GetInt32(2);
}
Run Code Online (Sandbox Code Playgroud)

我想将行拉出到一个匿名类型集合中,我通常使用LINQ进行迭代,但我不确定是否可能由于.Read()每次调用下一行所需的方式.

有没有办法做到这一点?

c# datareader

7
推荐指数
2
解决办法
3703
查看次数

MySQL查询使用列名检索数据

我正在编写一些工具,当应用任何查询时,它必须检索检索到的数据集的列名.

如果您熟悉phpMyAdmin,您将意识到SQL窗格会执行查询运行的内容并显示列名称的结果.我想知道查询有多难,它总是会产生列名,实际上是场景背后的编程?是这样,它分析查询,然后从中查找表名,然后首先使用查询检索列名,然后检索show columns from table-name数据?

有没有更好的方法?

更新 抱歉信息不完整,我想我必须说我正在使用.NET连接器并使用C#.

.net c# mysql sql

5
推荐指数
2
解决办法
1万
查看次数