如何从C#中的SQL Server数据库中检索数据类型Varchar(MAX)
的列?
我认为SqlDataReader
无助于检索它。
有任何线索吗?
由于
答案 0 :(得分:3)
它只是一个字符串字段....就像任何其他字符串一样抓住它.....
// define your query
string query = "SELECT YourField FROM dbo.YourTable WHERE ID = 1";
using(SqlConnection conn = new SqlConnection("......"))
using(SqlCommand cmd = new SqlCommand(query, conn))
{
conn.Open();
using(SqlDataReader rdr = cmd.ExecuteReader())
{
if(rdr.Read())
{
string fieldValue = rdr.GetString(0);
}
}
conn.Close();
}
VARCHAR(MAX)
类型真的没有什么特别之处 - 它只是一个文本字段,它可以容纳2 GB的文本 - 就像.NET string
一样。你不需要做任何特别的事情,比如流媒体或任何东西 - 只需将列读成字符串!
答案 1 :(得分:0)
Working with Large-Value Types in ADO.NET
reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
{
SqlChars buffer = reader.GetSqlChars(0);
}
或者只是将其转换为CLR类型:
while (reader.Read())
{
string str = reader[0].ToString();
Console.WriteLine(str);
}