我有这样子的一个表:
id,name, num,vertex, layer,penwidth,penstyle,pencoler
1 陇海西路 2 <Binary> 15 1 191 16748097
2 陇海南路 23 <Binary> 15 1 191 16748097
3..................................................................
等等,将近300个记录左右,那么我能不能将这些记录存入一个数组中,让再存入数据库中,让他变成一个记录?或者是直接将它们变成一个记录?求求大家帮帮忙,说思路也行!
id,name, num,vertex, layer,penwidth,penstyle,pencoler
1 陇海西路 2 <Binary> 15 1 191 16748097
2 陇海南路 23 <Binary> 15 1 191 16748097
3..................................................................
等等,将近300个记录左右,那么我能不能将这些记录存入一个数组中,让再存入数据库中,让他变成一个记录?或者是直接将它们变成一个记录?求求大家帮帮忙,说思路也行!
--可以存如XML中
--
SELECT EmployeeID, Photo
FROM Employees
WHERE EmployeeID = 1
FOR XML AUTO --采用FOR XML AUTO
FROM 表然后在程序里面把每条记录都+起来,用读流的形式存储到image中或者用游标把每条记录+起来,不过还是要用程序存储成image的
因为在SQL里面只允许binary,varbinary,char,varchar,text转换成image
只能用程序转换
如果你能把你的记录都转换成varchar或者char就可以在SQL里面存了个人愚见
declare @id int
declare my_cursor cursor for
select id from tbla
open my_cursor
fetch next from my_cursor into @id
while(@@fetch_status=0)
begin
select @id
fetch next from my_cursor into @id
End
close my_cursor
deallocate my_cursor
SET NOCOUNT ON
DECLARE @iNextRowId int,@iCurrentRowId int,@iLoopControl int,@ID int
-- Initialize variables!
SELECT @iLoopControl = 1
SELECT @iNextRowId = MIN(id) FROM tblA
-- Make sure the table has data.
IF ISNULL(@iNextRowId,0) = 0
BEGIN
SELECT 'No data in found in table!'
RETURN
END
-- Retrieve the first row
SELECT @iCurrentRowId = id,@id = ID FROM tblA WHERE id = @iNextRowId
-- start the main processing loop.
WHILE @iLoopControl = 1
BEGIN
-- This is where you perform your detailed row-by-row
-- processing.
-- Reset looping variables.
SELECT 'A'
SELECT @iNextRowId = NULL
-- get the next iRowId
SELECT @iNextRowId = MIN(id)FROM tblA WHERE ID > @iCurrentRowId
-- did we get a valid next row id?
IF ISNULL(@iNextRowId,0) = 0
BEGIN
BREAK
END
-- get the next row.
SELECT @iCurrentRowId = ID,@ID = ID FROM tblA WHERE ID = @iNextRowId
END
RETURN
ST NOCOUNT OFF