日期:2014-05-17  浏览次数:20616 次

OleDbDataAdapter 操作 数据自动截断问题
我用 OleDbDataAdapter 对数据库进行操作

string aa="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxpppppppppppppppppppppppp"

string sql="select '"+aa+"' as aa "
 OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn)

adapter.fill(myDataSet)


这也样 执行的结果是 每次 myDataSet.table[0] 里面的 aa字段 值都被剪断到小于 255位长度了。
请问 要如何操作 才能让 aa 的值完整的保留到myDataSet里面呢?

------解决方案--------------------
用查询获得可更新的数据集,把字符串赋给数据集中的字段,再调用update方法.
------解决方案--------------------
准确讲是记录集.
好久不来CSDN话都不会讲了!
------解决方案--------------------
应该是你在数据库中返回变量定义成255长度了吧,和外部OleDbDataAdapter 没有关系.
------解决方案--------------------
你的OleDb是用来操作Excel、Access还是其它数据库
你用个大点的变量来接收一下试试看。
declare @a varchar(8000)
set @a = "'"+aa+"'"
再select 查询
多试一些方式应该就能找到原因了