mshflexgrid怎么写入数据库

zhengmin1988 2010-04-19 10:39:11
在mshflexgrid中和text想结合实现修改数据,但修改的数据无法保存到数据库中。。。请高手贴代码
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2010-04-20
  • 打赏
  • 举报
回复
很是不懂
bancxc 2010-04-19
  • 打赏
  • 举报
回复
mshflexgrid的每一行一列取出输入 组成sql插入到数据库

mshflexgrid.TextMatrix(row,col)
--小F-- 2010-04-19
  • 打赏
  • 举报
回复
不懂 帮顶 学习 蹭分
dawugui 2010-04-19
  • 打赏
  • 举报
回复
mshflexgrid不懂,有关text的文章参考如下:

两个支持text字段内文字替换的存储过程
csdn realgz
(http://topic.csdn.net/u/20080505/20/d2dffbbe-6d6b-41cf-b29a-41149540eafa.html?seed=562172452)




text与ntext字段的复制和合并处理示例

--1. 把一个表的text数据复制到另一个表。
--测试数据
CREATE TABLE #a(id int,a text)
INSERT #a SELECT 1,'AA'
UNION ALL SELECT 2,'BB'

CREATE TABLE #b(id int,b text)
INSERT #b SELECT 1,'XX'

--用#a.a替换#b.b的数据,条件是#a.id=#b.id
UPDATE b SET b=a.a
FROM #a a,#b b
WHERE a.id=b.id

--把#a的数据复制到#b,条件是#a.id不在#b.id中
INSERT #b(id,b) SELECT id,a FROM #a a
WHERE NOT EXISTS(SELECT * FROM #b WHERE id=a.id)

--显示处理结果
SELECT * FROM #b
DROP TABLE #a,#b
/*--结果
id b
---------------- -------
1 AA
2 BB
--*/
GO


/*===============================================*/


--2. 将tb表中的col1及col2列中的数据合并到col列中,并且在合并的数据前后加上列标识。
--测试数据
CREATE TABLE tb(col text,col1 text,col2 text)
INSERT tb SELECT 'a' ,NULL,'c2'
UNION ALL SELECT NULL,'b2','c2'
UNION ALL SELECT '' ,'b3',NULL
GO

--更新处理
DECLARE @p binary(16),@p1 binary(16),@p2 binary(16)
DECLARE tb CURSOR LOCAL
FOR
SELECT TEXTPTR(col),TEXTPTR(col1),TEXTPTR(col2) FROM tb
OPEN tb
FETCH tb INTO @p,@p1,@p2
WHILE @@FETCH_STATUS=0
BEGIN
IF TEXTVALID('tb.col',@p)=0
BEGIN
UPDATE tb SET col='' WHERE CURRENT OF tb
UPDATE tb SET @p=TEXTPTR(col) WHERE CURRENT OF tb
END
IF TEXTVALID('tb.col1',@p1)=1
BEGIN
UPDATETEXT tb.col @p NULL 0 '<col1>'
UPDATETEXT tb.col @p NULL 0 tb.col1 @p1
UPDATETEXT tb.col @p NULL 0 '</col1>'
END
IF TEXTVALID('tb.col2',@p2)=1
BEGIN
UPDATETEXT tb.col @p NULL 0 '<col2>'
UPDATETEXT tb.col @p NULL 0 tb.col2 @p2
UPDATETEXT tb.col @p NULL 0 '</col2>'
END
FETCH tb INTO @p,@p1,@p2
END
CLOSE tb
DEALLOCATE tb
GO

--显示结果
SELECT * FROM tb
DROP TABLE tb
/*--结果
col col1 col2
-------------------------------------- ----------------------- ----------------------
a<col2>c2</col2> NULL c2
<col1>b2</col1><col2>c2</col2> b2 c2
<col1>b3</col1> b3 NULL
--*/


/*--示例说明:
下面的代码演示了转换pubs数据库的pub_info表中的pr_info列(text类型)为image类型
及将转换结果再转换为text的处理。
--*/
USE pubs

--创建一个临时表,用来转换 pub_info.pr_info 列值
CREATE TABLE #t(id int,a image,b text)
GO

--将 pub_info.pr_info 转换到 #t.a 列中
DECLARE @id int,@ps binary(16),@pd binary(16)
DECLARE tb CURSOR LOCAL
FOR
SELECT pub_id,TEXTPTR(pr_info) FROM pub_info
WHERE TEXTVALID('pub_info.pr_info',TEXTPTR(pr_info))=1
OPEN tb
FETCH tb INTO @id,@ps
WHILE @@FETCH_STATUS=0
BEGIN
INSERT #t VALUES(@id,0x,'')
SELECT @pd=TEXTPTR(a) FROM #t
WHERE TEXTVALID('#t.a',TEXTPTR(a))=1
IF @@ROWCOUNT>0
UPDATETEXT #t.a @pd 0 NULL pub_info.pr_info @ps
FETCH tb INTO @id,@ps
END
CLOSE tb
DEALLOCATE tb
GO

--将 #t.a 转换到 #t.b 列中
DECLARE @ps binary(16),@pd binary(16)
DECLARE tb CURSOR LOCAL
FOR
SELECT TEXTPTR(a),TEXTPTR(b) FROM #t
WHERE TEXTVALID('#t.a',TEXTPTR(a))=1
AND TEXTVALID('#t.b',TEXTPTR(b))=1
OPEN tb
FETCH tb INTO @ps,@pd
WHILE @@FETCH_STATUS=0
BEGIN
UPDATETEXT #t.b @pd 0 NULL #t.a @ps
FETCH tb INTO @ps,@pd
END
CLOSE tb
DEALLOCATE tb
GO

--显示转换结果
SELECT * FROM #t
DROP TABLE #t

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧