相关疑难解决方法(0)

你能从SqlDataReader获取列名吗?

连接到数据库后,我可以获取在我的所有列中返回的列的名称SqlDataReader吗?

c# ado.net sqldatareader

265
推荐指数
7
解决办法
21万
查看次数

如何使用sqlcmd从SQL Server导出数据为CSV格式?

我可以很容易地将数据转储到文本文件中,例如:

sqlcmd -S myServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" 
     -o "MyData.txt"
Run Code Online (Sandbox Code Playgroud)

但是,我查看了帮助文件,SQLCMD但没有看到专门针对CSV的选项.

有没有办法使用表格将数据从表格转储到CSV文本文件SQLCMD

sql-server csv file sqlcmd

123
推荐指数
5
解决办法
37万
查看次数

c#datatable to csv

有人可以告诉我为什么下面的代码不起作用.数据将保存到csv文件中,但数据不会分开.它全部存在于每行的第一个单元格中.

StringBuilder sb = new StringBuilder();

foreach (DataColumn col in dt.Columns)
{
    sb.Append(col.ColumnName + ',');
}

sb.Remove(sb.Length - 1, 1);
sb.Append(Environment.NewLine);

foreach (DataRow row in dt.Rows)
{
    for (int i = 0; i < dt.Columns.Count; i++)
    {
        sb.Append(row[i].ToString() + ",");
    }

    sb.Append(Environment.NewLine);
}

File.WriteAllText("test.csv", sb.ToString());
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# csv delimited-text

104
推荐指数
11
解决办法
22万
查看次数

如何在c#中有效地从SQL datareader写入文件?

我在C#中有一个远程sql连接,需要执行查询并将其结果保存到用户的本地硬盘.这个东西可以返回相当大量的数据,因此需要考虑一种有效的存储方式.我之前已经读过,先将整个结果放入记忆中,然后写出来并不是一个好主意,所以如果有人可以提供帮助,那就太好了!

我目前正在将sql结果数据存储到DataTable中,虽然我认为它可以更好地做一些事情while(myReader.Read(){...} 下面是得到结果的代码:

          DataTable t = new DataTable();
            string myQuery = QueryLoader.ReadQueryFromFileWithBdateEdate(@"Resources\qrs\qryssysblo.q", newdate, newdate);
            using (SqlDataAdapter a = new SqlDataAdapter(myQuery, sqlconn.myConnection))
            {
                a.Fill(t);
            }

            var result = string.Empty;
    for(int i = 0; i < t.Rows.Count; i++)
    {
        for (int j = 0; j < t.Columns.Count; j++)
        {
            result += t.Rows[i][j] + ",";
        }


        result += "\r\n";
    }
Run Code Online (Sandbox Code Playgroud)

所以现在我有了这个巨大的结果字符串.我有数据表.必须有一个更好的方法吗?

谢谢.

c# sqldatareader writetofile

8
推荐指数
2
解决办法
4万
查看次数