日期:2014-05-18  浏览次数:20566 次

存储过程问题,把我搞晕了,,,求高人指点!谢谢。
[size=13px]我想把DataGridView表格里的内容存到数据库中,每次保存的行数都不一定,我想用存储过程,就是把表格里的所有数据一次性发送到存储过程,改以什么样的方式发送呢??使用数组吗??

我不想一条记录调用一次存储过程,听说会占用网络资源。如果一次发送多条记录,那么存储该怎么写呢?
我百度了一下,有说用数据组的,可怎么分呢,每条记录用逗号分开,那么一条记录的列该怎么分呢,
急坏我了,,求各位大仙帮忙,十分感谢!![/size]

------解决方案--------------------
用临时表,一次传一个表
------解决方案--------------------
想一次性发送,并不一定要且存储过程,可把数据写成多条SQL然后一次性提交到服务器。
如果非要使用存储过程的话,个人建议也不需要使用数组,那样去写存储过程不是很麻烦,可以在客户端把数据对象序列化成XML,然后把整个XML字符串发送给存储过程,然后在存储过程中用sp_xml_preparedocument和OpenXML去解析XML成临时表再写到表里即可。
------解决方案--------------------
有说用数据组的,可怎么分呢,每条记录用逗号分开,那么一条记录的列该怎么分呢

自己设置数组的分隔符及字段的分隔符,然后用表值函数或标量值函数来保存分隔后的数据
最后存储过程再去执行表值函数或标量值函数,试试