关于Sqlsever的Text字段的读取问题
我的Sqlserver数据库AlarmSetup_Gsp建了一个表Alarm_Bjxxb,其中有一个字段Content_F为text类型,我用ODBC连接来读取,代码如下:
OdbcConnection connTest = new OdbcConnection();
FunC funC=new FunC();
connTest = funC.Sqlcon("AlarmSetup_Gsp"); //连接数据库句柄
string Sqlse1 = "Select Content_F From Alarm_Bjxxb Where Ryzd_Js_F='" + RySm + "' AND ID_F>=11";
connTest.Open();
OdbcCommand odbcCmd = new OdbcCommand(Sqlse1, connTest);
OdbcDataReader oRead= odbcCmd.ExecuteReader();
oRead.Read();
richTextContent.Text= oRead["Content_F"].ToString();
oRead.Close();
//OdbcDataAdapter SqlDa = new OdbcDataAdapter(Sqlse1, connTest);
//DataTable DT_AlarmContentRemote1 = new DataTable("Bjxxb1");
//SqlDa.Fill(DT_AlarmContentRemote1);
问题:
我发现当text内容较少时,语句不会错,可以读取其内容,但当内容过长时,语句执行到oRead["Content_F"].ToString(); 或SqlDa.Fill(DT_AlarmContentRemote1);时就会没有反应,一直处理等待状态,请问大侠如何处理,我这个字段是用xml格式记录一个表的内容的,所以内容很长,请大侠们指教一下 --------------------编程问答-------------------- 到底多长?10K? 10M?
--------------------编程问答-------------------- richTextContent.Text= oRead["Content_F"].ToString();
把这句分开:
String text = oRead["Content_F"].ToString();
richTextContent.Text= text;
跟一下就知道那句慢了。
我怀疑是第二句显示到UI上慢。若是可以,就截一部分显示吧。
--------------------编程问答-------------------- 第一到底有多长,一般没有10m不会觉得慢。
第二,那么长还想一次显示出来,直接用rechText基本上会卡。 --------------------编程问答-------------------- 在SQL Server中,对于TEXT类型的字段,如果数据量小时,可以直接读取它的内容。但是如果数据量较大,便无法直接读取它里面的内容了。
使用 READTEXT 查询
http://hi.baidu.com/entrance9/item/7f41390c405d81c02e4c6bd8 --------------------编程问答-------------------- 我现在都不知道有多少,估计xml格式的表内容大概有1000行,字段应该有16个,加上xml样式,应该不少吧,请教一下,如果要截,又应如何截。 --------------------编程问答-------------------- String text = oRead["Content_F"].ToString();
//show first 1000 chars
richTextContent.Text= text.SubString(0, Math.Min(1000, text.Length));
--------------------编程问答-------------------- 多少kongwei521,你的方法,我现在在SQL中能读出数据,但有两个问题未能解决:
1、Readtext 最后要指定从哪位开始读,读取多少位数据,我是想全部内容全部读取,那我如何知道我的内容有多少位,要读多少位才能把内容读完呢。
2、这些写法在C#中要如何写呢。 --------------------编程问答-------------------- 文本太长的考虑用byte[]存储
补充:.NET技术 , C#