社区
数据库(包含打印,安装,报表)
帖子详情
★★★快来抢300分★★★:设置DataGrid1.DataSource = 某recordset(ado)后,如何再修改DataGrid1中某column的值而不改变数据库表的值?
deak
2001-12-29 09:47:39
...全文
468
39
打赏
收藏
★★★快来抢300分★★★:设置DataGrid1.DataSource = 某recordset(ado)后,如何再修改DataGrid1中某column的值而不改变数据库表的值?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
39 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
deak
2001-12-30
打赏
举报
回复
add
deak
2001-12-29
打赏
举报
回复
to Brunhild:
我那个select语句特别繁琐,而且有十几个,
能不能用别的方法?
Brunhild
2001-12-29
打赏
举报
回复
我明白,你这个字段大概是另一个表(包含有ID、名称字段)的ID号,现在你想把另一个表的名称显示出来,对吧?
如果这个字段不需要修改,记录集也不需要增加记录,可以这样:
select b.名称, a.* from [表1] a inner join [表2] b on a.名称id=b.id
显示的时候把名称id隐含掉就可以了。
deak
2001-12-29
打赏
举报
回复
to Brunhild:
我的意思是记录集中有个字段的值是12001,表中定义的大小是5
我的要求是在DataGrid1中显示出来的值是“党政机关”,而不改变数据库表的值
你能不能说具体一点?
fuxc
2001-12-29
打赏
举报
回复
同意Brunhild(),TRUE DBGRID真的很不错
leonadoromario
2001-12-29
打赏
举报
回复
不要用绑定 vc编程高手
里有 gridctrl 可以拿来用
操作非常方便
zzgthc
2001-12-29
打赏
举报
回复
用truedbgrid6.0
Brunhild
2001-12-29
打赏
举报
回复
好象有个DBGRID的控件可以支持非绑定模式,可以试试。
Brunhild
2001-12-29
打赏
举报
回复
如果你用TRUE DBGRID就方便了,DATAGRID的非绑定列没法获得数据,也不能自动转换数据。
fuxc
2001-12-29
打赏
举报
回复
数据类型有问题吧
原先的数据是否int?
Brunhild
2001-12-29
打赏
举报
回复
这个字段需要更改吗?或者有没有增加记录的需要?
如果以上两个可能都没有,可以在SQL语句中先把12001转换。
deak
2001-12-29
打赏
举报
回复
也是不需要判断的,或者大小超过几倍
deak
2001-12-29
打赏
举报
回复
to Brunhild:
我这里的实现要求就是从12001改成“党政机关”,是不用判断的
难道没有解决的办法?
Brunhild
2001-12-29
打赏
举报
回复
哦,应该是beforecolupdate事件
Brunhild
2001-12-29
打赏
举报
回复
可以在datagrid的beforecoledit事件中判断字段大小是否合适
deak
2001-12-29
打赏
举报
回复
to Brunhild:
比如字段的初值是12001,表中定义的大小是5
我要修改后的值是“党政机关”,这时就会提示:
multiple-step operation generated errors .check each status value
怎么办?????
Brunhild
2001-12-29
打赏
举报
回复
修改字段应该是在 Set ActiveConnection = Nothing之后
fuxc
2001-12-29
打赏
举报
回复
Brunhild()的方法也很好,可以释放connection占用的的资源
recordset不能动态改变field的长度,只能想办法把数据导出recordset,通过非绑定来处理
提供你一个思路:
用recordset的getrows方法可以把recordset输出到一个数组
array = recordset.GetRows( Rows, Start, Fields )
Brunhild
2001-12-29
打赏
举报
回复
"前后大小不一致"是什么意思?
jett
2001-12-29
打赏
举报
回复
用fuxc(Michael)的那个方法,属性如下设置
ado.LockType = adLockBatchOptimistic
ado.cursortype=adopenkeyset 或adopenstatic
ado.cursorlocation=aduserclient
这样的话会在本地生成一个临时的表
字段做了修改后用update方法只会在临时表上修改不会写到基表中,datagrid可看到变化。
用updatebatch才会写进基表。
我曾经做过绝对不会错
加载更多回复(19)
精彩编程与编程技巧-巧用VB6的
DataGrid
实现通用电子表格...
巧用VB6的
DataGrid
实现通用电子表格
vb小项目(关于学生信息系统)
关于vb项目设计 Private Sub Command1_Click() Dim cnn As New
ADO
DB.Connection Dim strcnn As String Dim rst As New
ADO
DB.
Recordset
Dim sql As String strcnn = "provider=sqloledb.1;integrated security=sspi;database=students" cnn.Open strcnn sql = "select * from 班级" If xiaoniao = 1 Then Form1.Caption = "class" rst.Open sql, cnn,
adO
penStatic, adLockRe
adO
nly Set Me.
DataGrid
1.
DataSource
= rst xiaoniao = 0 Else Form1.Caption = "jiangxuejin" sql = "select * from 奖学金" rst.Open sql, cnn,
adO
penStatic, adLockRe
adO
nly Set Me.
DataGrid
1.
DataSource
= rst xiaoniao = 1 End If 'rst.Close 'cnn.Close End Sub
饭店点菜系统vb
漂亮的界面,可执行的代码 菜谱管理: Dim cnn As New
ADO
DB.Connection Dim rsImage As New
ADO
DB.
Recordset
Dim Chunk() As Byte Dim lngLengh As Long Dim intChunks As Integer Dim intFragment As Integer Const ChunkSize = 1000 Const lngDataFile = 1 Dim sql As String Private Sub back_Click() End Sub Private Sub Command1_Click(Index As Integer) Set
DataGrid
1.
DataSource
= Nothing sql = "delete * from huncai where cname='" & (Text1(2).Text) & "'" cnn.Execute sql MsgBox ("成功删除信息")
Ado
dc1.
Recordset
.Update
Ado
dc1.Refresh Set
DataGrid
1.
DataSource
=
Ado
dc1 End Sub Private Sub Command2_Click() End End Sub Private Sub Command3_Click() If Text3.Text = "" Or Text4.Text = "" Then MsgBox ("请输入完整信息!") Else sql = "insert into huncai(sort,cname,price) values ('" & (Combo1.Text) & "' ,'" & (Text3.Text) & "' ,'" & Val(Text4.Text) & "')" If Trim(txtFilePath.Text) = "" Then MsgBox "未选择文件.!!", vbInformation + vbSystemModal, "保存出错" Exit Sub End If Open Trim(txtFilePath.Text) For Binary Access Read As lngDataFile lngLengh = LOF(lngDataFile) ' 文件大小 If lngLengh = 0 Then Close lngDataFile: Exit Sub intChunks = lngLengh \ ChunkSize intFragment = lngLengh Mod ChunkSize '新建记录 rsImage.AddNew ReDim Chunk(intFragment) Get lngDataFile, , Chunk() rsImage!picImage.AppendChunk Chunk() ReDim Chunk(ChunkSize) For i = 1 To intChunks Get lngDataFile, , Chunk() rsImage!picImage.AppendChunk Chunk() Next i rsImage.Update Close lngDataFile Call ShowPic cnn.Execute sql
Ado
dc1.Refresh MsgBox ("添加成功!") End If End Sub Private Sub cmdBrowse_Click() On Error Resume Next With cmdlFilePath .Filter = "JPG Files|*.JPG|Bitmaps|*.BMP" .ShowOpen txtFilePath.Text = .FileName End With
vb控件教程
vb的控件 快速开始看看思考思考思考思考
ADO
DataGrid
数据库
全操作
ADO
DataGrid
数据库
全操作
数据库(包含打印,安装,报表)
1,217
社区成员
55,952
社区内容
发帖
与我相关
我的任务
数据库(包含打印,安装,报表)
VB 数据库(包含打印,安装,报表)
复制链接
扫一扫
分享
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章