asp.net 如何从数据库中提取字符超过255的数据 我使用的是Access数据库,数据库表"product"中有一列"content"储存了商品详细信息,字符很长(字符长度肯定超255),"content"列数据类型是备注。但是无论我用DataTable或者DataRead提取数据,都只能获得字符长度为255的数据,后面的数据自动截断了。请高手指示 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种情况没见过 但我从access数据库里获取大于255的字符都可以我想可能是你的sql语句出问题了 应该不会截断的,是不是显示的问题,用textarea试试 谢谢你们的回复,我把代码贴出来吧。下面是我的链接数据库的类的代码:public class DB{ string connString = ConfigurationManager.ConnectionStrings["TuanGou"].ConnectionString.ToString(); public DB() { // //TODO: 在此处添加构造函数逻辑 // } public string DataRead(string query) { OleDbConnection conn = new OleDbConnection(connString); conn.Open(); OleDbCommand cmd = new OleDbCommand(query, conn); OleDbDataReader dr = cmd.ExecuteReader(); string a = ""; if (dr != null) { while (dr.Read()) { a += dr[0].ToString(); } } conn.Close(); return a; }下面是代码是我调取数据库数据的代码: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString["id"] != null) { string id = Request.QueryString["id"].ToString(); DB db = new DB(); DataTable dt = db.dt("select * from product_productClass2_productClass1 where detailId=" + id); if (dt.Rows.Count != 0) { string a = db.DataRead("select content from product_productClass2_productClass1 where detailId=" + id); Label1.Text = a.ToString(); Label2.Text = a.ToString().Length.ToString()); } } } }上述代码中:Label1的值总是显示不完整,Label2的值总是“255”;不知道我写的请不清楚,谢谢各位了 你跟踪看看吧。看看读出来的是什么。。要不就建议你新建一个页面再试试。还有一个就是把sql 改一下 :select content from table where len(content)>255 看看执行这个sql获取的都是什么。。 真实惭愧,解决了。原因是因为 select content from product_productClass2_productClass1 where detailId=这段sql语句我连接的“product_productClass2_productClass1 ”是一个视图。呵呵。折腾了半天。还有我再问一下:视图中的字段内容没法大于 255 么? 你把那个字段的类型设置为text应该可以 DetailsView中BoundField的取值问题 js用post传值给cs文件后,获取的数据中文乱码--急救 批量更新某一字段 在线用户列表请教 在vs2005中如何连接带有密码的access数据库?急!!!! TreeView 的动态刨建节点 ASP.net中如何使标签中的文字换行? 一行放4个元素,满了就换下一行放,求思路,求方法 麻烦大家为什么读取动态生成的textbox值出错!!!!! 高分求救,在线等待。 请教asp.net用户的在线离线判断 创建存储过程的时候是否可以不用带字段类型?
我想可能是你的sql语句出问题了
public class DB
{
string connString = ConfigurationManager.ConnectionStrings["TuanGou"].ConnectionString.ToString();
public DB()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public string DataRead(string query)
{
OleDbConnection conn = new OleDbConnection(connString);
conn.Open();
OleDbCommand cmd = new OleDbCommand(query, conn);
OleDbDataReader dr = cmd.ExecuteReader();
string a = "";
if (dr != null)
{ while (dr.Read())
{
a += dr[0].ToString();
}
}
conn.Close();
return a;
}
下面是代码是我调取数据库数据的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["id"] != null)
{
string id = Request.QueryString["id"].ToString();
DB db = new DB();
DataTable dt = db.dt("select * from product_productClass2_productClass1 where detailId=" + id);
if (dt.Rows.Count != 0)
{
string a = db.DataRead("select content from product_productClass2_productClass1 where detailId=" + id);
Label1.Text = a.ToString();
Label2.Text = a.ToString().Length.ToString());
} }
}
}
上述代码中:Label1的值总是显示不完整,Label2的值总是“255”;不知道我写的请不清楚,谢谢各位了
要不就建议你新建一个页面再试试。还有一个就是把sql 改一下 :select content from table where len(content)>255 看看执行这个sql获取的都是什么。。
原因是因为 select content from product_productClass2_productClass1 where detailId=这段sql语句我连接的“product_productClass2_productClass1 ”是一个视图。
呵呵。折腾了半天。还有我再问一下:视图中的字段内容没法大于 255 么?