滚轮移动数据库里面的内容!

作者&投稿:恽妻 (若有异议请与网页底部的电邮联系)
数据库迁移~

表不多的情况导入导出比较好

这个估计没办法简单的一条 sql 语句完成了。

你可能创建几个 新旧id 关联表, 来存储数据。

还不能确定, 你的 id 是不是自动增长的.

例如
信息表a(id,name)

创建一个表 old_to_new_a ( oldid , newid)

以下处理逻辑, 是假设你的 id 是 自增长的情况。

你旧库 a --> 新库 a 的时候。

如果 新旧 id 与 name 都一样, 那么简单去 old_to_new_a 插入一行关联数据。
旧系统的 id 与 新系统的id 是相同的。

如果 name 已存在, 那么去 old_to_new_a 插入一行关联数据。

也就是 old_to_new_a ( 旧系统的 id , 新系统的id)

如果 name 不存在
那么先去 a 插入一行新的数据。 获取新的 自增id.
然后再去 old_to_new_a 插入一行关联数据。


旧库 b --> 新库 b 的 处理, 和 a 差不多一样。
就是要去折腾个 old_to_new_b ( oldid , newid)


----
最后就是折腾 关系表e。

一行一行判断 aid 和 bid

用 aid 去 old_to_new_a 表, 查询出 新系统的 aid
用 bid 去 old_to_new_b 表, 查询出 新系统的 bid

然后去新系统的 e 表中查询。数据是否已存在。

不存在就插入一行。

这里有一篇文章可能对你有帮助,我就是看了这篇文章成功完成了鼠标滚轮来移动数据,你得改改里面的语句以符合你的要求:

徐峰(安徽省贸易学校 )
..........
---- 三、实际应用

---- 根据上述原理,给出一个数据库应用的典型例子。

---- 1.用户界面班级和学生一对多的查询,当用户在学生网格以外滚动鼠标滚轮,班级主表前后移动;用户在网格以内滚动鼠标学生明细表垂直移动;如果在网格以内按住鼠标滚轮键并且滚动鼠标,学生明细表水平移动。

---- 2.Form1上ADO Data 控件对象datPrimaryRS的 ConnectionString为"PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;dsn=SCHOOL;uid=;pwd=;", RecordSelectors 属性的SQL命令文本为"SHAPE {select * from 班级} AS ParentCMD APPEND ({select * from 学生 } AS ChildCMD RELATE 班级名称 TO 班级名称) AS ChildCMD"。

---- 3.TextBox的DataSource均为datPrimaryRS,DataFiled如图所示。

---- 4.窗口下部的网格是DataGrid控件,名称为grdDataGrid。

---- 5.表单From1.frm的清单如下:

Private Sub Form_Load()
Set grdDataGrid.DataSource = _
datPrimaryRS.Recordset("ChildCMD").UnderlyingValue
Hook Me.hWnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
UnHook Me.hWnd
End Sub

---- 6.标准模块Module1.bas清单如下:
Option Explicit
Public Type POINTL
x As Long
y As Long
End Type
Declare Function CallWindowProc _
Lib "USER32" Alias "CallWindowProcA" _
(ByVal lpPrevWndFunc As Long, _
ByVal hWnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Declare Function SetWindowLong _
Lib "USER32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Declare Function SystemParametersInfo _
Lib "USER32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, _
ByVal uParam As Long, _
lpvParam As Any, _
ByVal fuWinIni As Long) As Long

Declare Function ScreenToClient Lib "USER32" _
(ByVal hWnd As Long, xyPoint As POINTL) As Long

Public Const GWL_WNDPROC = -4
Public Const SPI_GETWHEELSCROLLLINES = 104
Public Const WM_MOUSEWHEEL = &H20A
Public WHEEL_SCROLL_LINES As Long

Global lpPrevWndProc As Long

Public Sub Hook(ByVal hWnd As Long)
lpPrevWndProc = SetWindowLong(hWnd, GWL_WNDPROC, _
AddressOf WindowProc)
'获取"控制面板"中的滚动行数值
Call SystemParametersInfo(SPI_GETWHEELSCROLLLINES, _
0, WHEEL_SCROLL_LINES, 0)
If WHEEL_SCROLL_LINES > Form1.grdDataGrid.VisibleRows Then
WHEEL_SCROLL_LINES = Form1.grdDataGrid.VisibleRows
End If
End Sub

Public Sub UnHook(ByVal hWnd As Long)
Dim lngReturnValue As Long
lngReturnValue = SetWindowLong(hWnd,
GWL_WNDPROC, lpPrevWndProc)
End Sub

Function WindowProc(ByVal hw As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Dim pt As POINTL
Select Case uMsg
Case WM_MOUSEWHEEL
Dim wzDelta, wKeys As Integer
wzDelta = HIWORD(wParam)
wKeys = LOWORD(wParam)
pt.x = LOWORD(lParam)
pt.y = HIWORD(lParam)
'将屏幕坐标转换为Form1.窗口坐标
ScreenToClient Form1.hWnd, pt
With Form1.grdDataGrid

'判断坐标是否在Form1.grdDataGrid窗口内
If pt.x > .Left / Screen.TwipsPerPixelX And _
pt.x < (.Left + .Width) / Screen.TwipsPerPixelX And _
pt.y > .Top / Screen.TwipsPerPixelY And _
pt.y < (.Top + .Height) / Screen.TwipsPerPixelY Then
'滚动明细数据库
If wKeys = 16 Then
'滚动键按下,水平滚动grdDataGrid
If Sgn(wzDelta) = 1 Then
Form1.grdDataGrid.Scroll -1, 0
Else
Form1.grdDataGrid.Scroll 1, 0
End If
Else
'垂直滚动grdDataGrid
If Sgn(wzDelta) = 1 Then
Form1.grdDataGrid.Scroll 0, 0 - WHEEL_SCROLL_LINES
Else
Form1.grdDataGrid.Scroll 0, WHEEL_SCROLL_LINES
End If
End If
Else
'鼠标不在grdDataGrid区域,滚动主数据库
With Form1.datPrimaryRS.Recordset
If Sgn(wzDelta) = 1 Then
If .BOF = False Then
.MovePrevious
If .BOF = True Then
.MoveFirst
End If
End If
Else
If .EOF = False Then
.MoveNext
If .EOF = True Then
.MoveLast
End If
End If
End If
End With
End If
End With
Case Else
WindowProc = CallWindowProc(lpPrevWndProc, hw, _
uMsg, wParam, lParam)
End Select
End Function

Public Function HIWORD(LongIn As Long) As Integer
' 取出32位值的高16位
HIWORD = (LongIn And &HFFFF0000) \ &H10000
End Function

Public Function LOWORD(LongIn As Long) As Integer
' 取出32位值的低16位
LOWORD = LongIn And &HFFFF&
End Function

---- 7.该例在未安装任何附加鼠标驱动程序的Win2000/98环境,采用联想网络鼠标/罗技银貂,VB6.0下均通过。
---- 需要进一步说明的是,对用户界面鼠标滚轮的操作也要遵循公共用户界面操作习惯,不要随意定义一些怪异的操作,如果你编制的应用程序支持鼠标滚轮,请看看是否符合下面这些标准。

---- 垂直滚动:当用户向后滚动轮子(朝用户方向),滚动条向下移动;向前滚动轮子(朝显示器方向),滚动条向上移动。对文档当前的选择应该不受影响,对数据库当前记录指针不变。

---- 水平滚动:如果同时有垂直滚动条,鼠标滚轮首先应控制上下滚动;当文档只有水平滚动杠时,用户向后滚动轮子,滚动条向右移动,向前滚动轮子,滚动条向左移动。对文档当前的选择应该不受影响,对数据库字段选择不受影响。

---- 滚动速度:鼠标滚轮每滚一个刻痕,对于长文档移动的行数,应符合控制面板中鼠标的定义(默认移动三行),对短文档每次滚一行,在任何情况下,决不要超过窗口显示的行数。

---- 平移:平移事实上就是滚动条的连续操作。平移一般是配合滚轮按钮的拖拽,最好提供方向指示光标。

---- 自动滚动:自动滚动通常开始于鼠标滚轮按钮单击,以后任何击键、鼠标按键或者滚动鼠标滚轮终止。滚动方向和速度取决于鼠标偏移滚轮按钮单击时原始位置的方向和距离,距原始位置标记越远自动滚动越快,距离近则慢。应用程序需要提供初始位置位图以及方向指示图标。

---- 缩放:在按住 Ctrl 键的同时前后滚动滚轮。向后滚动轮子(朝用户方向),缩小比例;向前滚动轮子(朝显示器方向),增大比例。
..........


滚轮移动数据库里面的内容!
--- 根据上述原理,给出一个数据库应用的典型例子。--- 1.用户界面班级和学生一对多的查询,当用户在学生网格以外滚动鼠标滚轮,班级主表前后移动;用户在网格以内滚动鼠标学生明细表垂直移动;如果在网格以内按住鼠标滚轮键并且滚动鼠标,学生明细表水平移动。--- 2.Form1上ADO Data 控件对象datPrimaryR...

手机号码注销之后 移动公司里的数据库中的个人资料还存在吗? 预付款电 ...
应该不在,因为你本身也没在你的卡里存什么个人信息啊,只要不是欠费停掉的,都不会有什么的 不就是姓名和身份证号么,你又没欠费,怕什么,别人相查也查不到的,下个用户再用这个号的话,也不会知道你的资料的。

Linux Mysql如何移动MySQL数据库目录位置?
1、home目录下建立data目录 cd \/home mkdir data 2、把MySQL服务进程停掉:mysqladmin -u root -p shutdown 3、把\/var\/lib\/mysql整个目录移到\/home\/data mv \/var\/lib\/mysql \/home\/data\/ 这样就把MySQL的数据文件移动到了\/home\/data\/mysql下 4、找到my.cnf配置文件 如果\/etc\/目录下没有my.c...

移动云图数据库有哪些功能?
移动云图数据库主要有四大功能,分别是算法分析功能、数据可视化功能、备份恢复功能和实例监控功能,能够帮助企业打通数据孤岛,构筑全局视角。

SQL Server的六种数据移动方法
Server数据库中部分表的移动 用这种方法最好 当然 也可以进行全部表的移动 在SQL Server Enterprise Manager中 展开服务器左边的+ 选择数据库 右击 选择All tasks\/Import Data (或All tasks\/Export Data ) 进入向导模式 按提示一步一步走就行了 里面分得很细 可以灵活的在不同数据源之间复制数据 很...

如何移动sql数据库的KDAcctDB_Data文件
1,通过工具DTS的设计器进行导入或导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All ...

移动基站数据库中的数字分别代表什么意思
460;00 460是中国的意思 00是移动的意思 ;01是联通 其他的是位置编码;具体的移动是不公开的

如何将数据库的所有物理文件移动到其它路径,并且保证逻辑数据库不受影响...
先分离数据库,然后移动你的数据库文件,然后再附加进去。

oracle数据库中如何将表移动到另一个表空间
首先,使用下面的命令移动:alter table table_name move tablespace tablespace_name;然后,如果有索引的话必须重建索引:alter index index_name rebuild tablespace tablespace_name;当然,可以使用spool来帮助实现多个表的操作.set header off;spool \/export\/home\/oracle\/alter_tables.sql;select 'alter table ...

将数据库student的所有物理文件移动到‘D:\\xxx‘,并且保证逻辑数据库...
右键:数据库名称——任务——分离;再把数据库文件从你打开的文件夹里复制到你想要放的文件夹;然后附加数据库:右键:数据库(数据库名称的上一级)——附加;在附加窗口中点添加按钮,找到你的数据库文件,然后确定;这样数据库文件就移动到了新的文件夹了。

绥中县13893236097: 怎样将数据库记录标题以滚动方式显示在页面,鼠标移动到标题是静止,点击后显示其内容
种要万舒: 应该对你有帮助的!先取出这条标题,然后: 标题

绥中县13893236097: 移动mysql数据库里面的内容不成功,请高手赐教 ~
种要万舒: 你后面的sql语句有问题,你说要把typeid为1或者2或者3的数据拷贝走,但是你的sql写的是 typeid=1 and typeid=2 and typeid 这是不可能查出来数据的,你的查询语句查出来的是typeid同时等于1,2和3的数据 应该写成 typeid =1 or typeid =2 or typeid=3 你查询语句查出来的数据是0条,拷贝走的数据自然是0条了

绥中县13893236097: 如何在mysql数据库里面的记录位置进行移动 -
种要万舒: 假如要把目录移到/home/data下需要进行下面几步: 1、home目录下建立data目录 cd /home mkdir data 2、把MySQL服务进程停掉: mysqladmin -u root -p shutdown 3、把/var/lib/mysql整个目录移到/home/data mv /var/lib/mysql /home/...

绥中县13893236097: Excel中,如何实现使用鼠标滚轮来逐个移动光标. -
种要万舒: 这个要设制“鼠标”属性.首先打开控制面板,再选择鼠标,再选择“轮”再将“一次滚动下列行数”设为1就行了..

绥中县13893236097: Excel中应用鼠标滚轮的多少个技能 -
种要万舒: 在日常的电脑操作进程中,恰当的应用鼠标滚轮能够给咱们的工作带来良多方便.下面先容多少个Excel中使用鼠标滚轮的技能.1.高低滚动表格 在Excel工作表中,选择某个单元格,然后上下滚动滚轮,表格将上下滚动.这有点相似点击滚动条...

绥中县13893236097: wps表格用鼠标滚轮上下移动表格时,不是平滑移动,而是按单元格跳动的,当一个单元格中内容很多时就会操 -
种要万舒: 在名称框内输入单元格(例如Z308)进行定位 或 按F5或CTRL+G 定位 引用位置 输入 Z308 确定

绥中县13893236097: sql里如何将一个数据库的数据文件移动到别的盘中,并且保证逻辑数据库不受影响,请详细描述解决办法. -
种要万舒: ; 然后分离数据库: 右键:数据库名称——任务——分离; 再把数据库文件从你打开的文件夹里复制到你想要放的文件夹; 然后附加数据库: 右键:数据库(数据库名称的上一级)——附加; 在附加窗口中点添加按钮,找到你的数据库文件,然后确定; 这样数据库文件就移动到了新的文件夹了.

绥中县13893236097: vb程序编辑区为什么鼠标的滚动键没用,怎么设置可以滚动? -
种要万舒: 这是比较麻烦的,需要使用Windows API函数.下面的文章供你参考: 让VB应用程序支持鼠标滚轮 如何让VB应用程序支持鼠标滚轮?MSDN上有一篇解决VB下应用Intel...

绥中县13893236097: 在Excel2007工作表区域内怎样才能快速移动或滚动 -
种要万舒: 可以使用箭头键、滚动条或鼠标在各单元格之间移动和快速移动到工作表的不同区域. 在Microsoft office Excel 2007 中,您可以利用增加的滚动速度轻松滚动到区域末尾和利用工具提示了解自己在工作表中所处的位置.您还可以使用鼠标在包含...

绥中县13893236097: 怎么在DIV里 滚动 显示从数据库里查找的数据,谁能给发发代码,好久没用 都忘怎么写了 -
种要万舒: 用js控制div盒子滚动 就行了. html里面的数据换成调用数据库的完事. 代码自己想 思路就是这样.不要想着不劳而获,自己动手丰衣足食.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网