我是菜鸟!问一个关于ADO连接数据库在MSflexgrid中显示查询结果的问题?

gogotrain gogotrain 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
窗体中有,一个msflexgrid控件,一个textbox,一个清空button,一个查询button,一个返回button。
目的:在textbox中输入药品名字的拼音首写字母,在数据库中查到药品信息在msflexgrid中显示。
问题:不能返回正确的查询结果(数据库中有要查找的药品信息),总是返回窗口“数据库中无可用记录”。最重要的是我曾经用存储过程实现了返回正确的结果,可是选清空后输入新的查询条件后(药品首写字母)不能返回正确结果,返回窗口“数据库中无可用记录”。另外,where 语句中变量incode2和%的连接也不明白怎样写,请指教我找了很多资料但都没有弄明白,先谢了。
Option Explicit

Dim incode1 As String '字符串1
Dim incode2 As String '字符串2
Dim cn As New ADODB.connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim pm As New ADODB.Parameter




Private Sub Command_c_Click(Index As Integer)

Text1 = ""
MSFlexGrid1.Clear
Form_Load


End Sub


Private Sub Command_e_Click(Index As Integer)

Unload Me
mainfrm.Show

End Sub

Private Sub Command1_Click(Index As Integer)

Select Case Index

Case 0
incode1 = "Q"
Case 9
incode1 = "W"
Case 8
incode1 = "E"
Case 7
incode1 = "R"
Case 6
incode1 = "T"
Case 5
incode1 = "Y"
Case 4
incode1 = "U"
Case 3
incode1 = "I"
Case 2
incode1 = "O"
Case 1
incode1 = "P"
Case 10
incode1 = "A"
Case 18
incode1 = "S"
Case 17
incode1 = "D"
Case 16
incode1 = "F"
Case 15
incode1 = "G"
Case 14
incode1 = "H"
Case 13
incode1 = "J"
Case 12
incode1 = "K"
Case 11
incode1 = "L"
Case 25
incode1 = "Z"
Case 24
incode1 = "X"
Case 23
incode1 = "C"
Case 22
incode1 = "V"
Case 21
incode1 = "B"
Case 20
incode1 = "N"
Case 19
incode1 = "M"
End Select

Text1 = incode2 + incode1 '显示结果

incode2 = Trim(Text1)
incode1 = ""

End Sub

Private Sub Command_s_Click(Index As Integer)


Dim source As String
Dim i As Long

On Error Resume Next


source = "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=health;Mode=Read;Initial Catalog=testhis"
Set rs = New ADODB.Recordset
rs.CursorType = adOpenStatic
rs.Open "SELECT drugbase.drugname as '药品名称'," & _
"case when drugbaseelse.dname is null then '' else drugbaseelse.dname end as '药品别名'," & _
"drugbase.drugregu as '药品规格'," & _
"drugbase.drugunit as '药品单位'," & _
"drugbase.lprice as '单价'," & _
"drugprop.des as '剂型'," & _
"case when drugbase.ybid is null then '非医保药品' else '医保药品' end as '医保药品'," & _
"discounttype.name as '支付类型'" & _
"FORM " & _
"drugbase left join drugbaseelse on drugbase.drugid=drugbaseelse.drugid" & _
"left join drugprop on drugbase.jlid=drugprop.id and drugprop.type=1" & _
"left join discounttype on drugbase.discounttype=discounttype.id" & _
"WHERE" & _
"drugbase.stopflag= 0 and" & _
"(drugbase.incode = '& incode2&%&' or drugbaseelse.incode like '&incode2&%')", source, , , adCmdText

'cn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;User ID=sa;Data Source=health;Mode=Read;Initial Catalog=testhis"
'cn.Open


'Set cmd.ActiveConnection = cn
'With cmd
' .CommandType = adCmdStoredProc
' .CommandText = "gogotrain_drugs" '"select drugbase.drugname as '药品名称',case when drugbaseelse.dname is null then '' else drugbaseelse.dname end as '药品别名' ,drugbase.drugregu as '药品规格',drugbase.drugunit as '药品单位',drugbase.lprice as '单价',drugprop.des as '剂型',case when drugbase.ybid is null then '非医保药品' else '医保药品' end as '医保药品',discounttype.name as '支付类型' from drugbase left join drugbaseelse on drugbase.drugid=drugbaseelse.drugid left join drugprop on drugbase.jlid=drugprop.id and drugprop.type=1 left join discounttype on drugbase.discounttype=discounttype.id where drugbase.stopflag= 0 and (drugbase.incode like '&source&' or drugbaseelse.incode like '&source&')"
'End With

'Set pm = cmd.CreateParameter(source, adVarChar, adParamInput, 40, incode2)
' cmd.Parameters.Append pm
' cmd.Parameters(source).Value = incode2
'Set rs = cmd.Execute

rs.MoveFirst '将记录集指针移到开始位置
If rs.BOF And rs.EOF Then '无数据
MSFlexGrid1.Rows = 1 '清除原来的显示
MsgBox "数据库中无可用记录", , "提示"
Exit Sub
End If
i = 1
Do Until rs.EOF '

MSFlexGrid1.Rows = i + 1 '增加一行记录
MSFlexGrid1.Row = i '设置行位置
MSFlexGrid1.Col = 0 '设置为第一列
MSFlexGrid1.Text = " " & Str(i)
MSFlexGrid1.Col = 1 '设置为第二列
MSFlexGrid1.Text = " " & rs!药品名称
MSFlexGrid1.Col = 2 '设置为第三列
MSFlexGrid1.Text = " " & rs!药品别名
MSFlexGrid1.Col = 3 '设置为第四列
MSFlexGrid1.Text = " " & rs!药品规格 '& Str(rs!年龄)
MSFlexGrid1.Col = 4 '设置为第五列
MSFlexGrid1.Text = " " & rs!药品单位
MSFlexGrid1.Col = 5 '设置为第六列
MSFlexGrid1.Text = " " & CCur(rs!单价)
MSFlexGrid1.Col = 6 '设置为第七列
MSFlexGrid1.Text = " " & rs!剂型
MSFlexGrid1.Col = 7 '设置为第八列
MSFlexGrid1.Text = " " & rs!医保药品
MSFlexGrid1.Col = 8 '设置为第九列
MSFlexGrid1.Text = " " & rs!支付类型

rs.MoveNext
i = i + 1
Loop

rs.Close
cn.Close



End Sub



Private Sub Form_Load()


incode1 = ""
incode2 = ""

'设置网格宽度
MSFlexGrid1.ColWidth(0) = 500
MSFlexGrid1.ColWidth(1) = 2000
MSFlexGrid1.ColWidth(2) = 1500
MSFlexGrid1.ColWidth(3) = 1500
MSFlexGrid1.ColWidth(4) = 500
MSFlexGrid1.ColWidth(5) = 1000
MSFlexGrid1.ColWidth(6) = 800
MSFlexGrid1.ColWidth(7) = 1000
MSFlexGrid1.ColWidth(8) = 1000

'设置字段名显示
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = " 序号"
MSFlexGrid1.Col = 1
MSFlexGrid1.Text = "药 品 名 称"
MSFlexGrid1.Col = 2
MSFlexGrid1.Text = "药 品 别 名"
MSFlexGrid1.Col = 3
MSFlexGrid1.Text = "药 品 规 格"
MSFlexGrid1.Col = 4
MSFlexGrid1.Text = "单 位"
MSFlexGrid1.Col = 5
MSFlexGrid1.Text = "单 价"
MSFlexGrid1.Col = 6
MSFlexGrid1.Text = "剂 型"
MSFlexGrid1.Col = 7
MSFlexGrid1.Text = "医 保 药 品"
MSFlexGrid1.Col = 8
MSFlexGrid1.Text = "支 付 类 型"


End Sub

...全文
YOLO26算法户外仓储场地管道凹痕目标检测+训练好的模型+260张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[凹痕(Dents)] · 训练集:228 张 · 验证集:20 张 · 测试集:12 张 · 总计:260 张 该数据集聚焦于大型工业管道在户外仓储或中转场地的表面质量检测,通过高精度标注管道表面的凹痕缺陷,为工业品控与资产维护提供可靠的数据支撑。其核心价值在于将视觉检测能力下沉至现场作业环节,有效提升对关键基础设施的损伤识别效率,保障后续运输与安装的安全性。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 37 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.0407** mAP50-95 | 0.0103 Precision | 0.1843 Recall | 0.1482 train/box_loss | 1.9046 train/cls_loss | 2.8888 val/box_loss | 2.7624 val/cls_loss | 5.1260 【训练过程分析】 37 轮训练后 mAP50 仅 0.0407,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.0103,整体性能需要进一步优化。 【模型性能评估】 Precision 0.1843、Recall 0.1482,精度高于召回,存在一定漏检。 【预测效果展示】 验证集预测效果偏弱,漏检和误检较多,小目标和边缘场景的检出能力... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

技术转移机构如何基于数据提升项目撮合精准度?.docx

技术转移机构如何基于数据提升项目撮合精准度?

BIZKEEN

超扭滑模与快速终端滑模的永磁同步电机无感控制:理论、离散化实现与仿真研究(Simulink仿真实现)

内容概要:本文系统研究了超扭滑模控制(STSMC)与快速终端滑模控制(FTSMC)在永磁同步电机(PMSM)无感控制中的应用,重点涵盖其理论基础、离散化实现方法及Simulink仿真验证。文章深入阐述了两种高阶滑模控制策略的设计原理,利用磁链无感观测技术实现转子位置与速度的精确估计,从而省去物理传感器,有效提升了系统的可靠性与鲁棒性。同时,提供了完整的Simulink仿真模型构建方案,包括控制器设计、关键参数整定及动态响应性能分析,充分验证了所提出的方法在零速与低速工况下的卓越控制性能和有效性。; 适合人群:具备电机控制、现代控制理论基础知识及熟练掌握MATLAB/Simulink仿真技能的研究生、科研人员与工程技术人员。; 使用场景及目标:①深入理解高阶滑模控制在电机驱动系统中的设计思想与具体实现;②掌握基于滑模观测器的无感控制核心技术;③开展永磁同步电机高性能控制算法的理论研究、仿真验证与工程化探索。; 阅读建议:建议将文中详尽的理论推导与Simulink仿真模型相结合进行学习,重点关注滑模面的构建、抖振抑制策略的实施以及离散化处理的细节,有条件的研究者可进一步将算法移植到DSP等硬件平台进行实验验证,以深化对理论的理解并检验其实际应用效果。

长安程序猿

多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)

内容概要:本文系统阐述了基于Matlab的多源动态最优潮流分布鲁棒优化方法,聚焦于IEEE118节点电力系统,旨在应对高比例可再生能源接入背景下源荷双重不确定性所带来的调度挑战。该方法深度融合分布鲁棒优化理论,通过构建能够抵御最坏情况概率分布的决策模型,有效提升了电力系统在复杂不确定性环境下的运行安全性、经济性与可靠性。研究不仅提供了完整的Matlab代码实现,便于结果复现与算法验证,还特别关注了含风电等新能源的现代电网低碳调度问题,为解决实际工程中的优化调度难题提供了强有力的理论支撑和技术工具。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、科研人员及从事智能电网优化运行、能源系统规划等相关领域的工程技术人员。; 使用场景及目标:①研究含高比例可再生能源接入的电力系统动态最优潮流问题;②掌握分布鲁棒优化在电力系统经济调度、低碳调度中的建模思想与求解方法;③利用IEEE118标准测试系统进行算法有效性验证与性能对比分析;④基于所提供的Matlab代码进行二次开发,探索新型不确定性优化理论在电力系统中的创新应用。; 阅读建议:建议读者结合电力系统最优潮流、不确定性优化理论(特别是分布鲁棒优化)的背景知识进行学习,重点关注模型的构建逻辑、目标函数与约束条件的设计原理,以及Matlab代码的具体实现细节。在学习过程中,应动手调试代码,尝试修改系统参数(如新能源出力波动范围、负荷水平等),以观察不同场景下优化结果的变化,从而深刻理解该方法的适应性、优势及其潜在的局限性。

天天程序猿

车间调度基于GA、PSO、SA、ACO、TS优化算法的车间调度比较研究(Matlab代码实现)

内容概要:本文系统性地比较了遗传算法(GA)、粒子群优化(PSO)、模拟退火(SA)、蚁群优化(ACO)和禁忌搜索(TS)五种智能优化算法在车间调度问题中的性能表现,并提供了基于Matlab的完整代码实现。研究聚焦于调度优化的核心目标——最小化完工时间(makespan),通过标准测试案例对各算法的收敛速度、求解精度和稳定性进行了深入对比分析,旨在为实际生产调度中算法的选择与改进提供科学依据。文中不仅详述了每种算法的设计思路与关键参数设置,还展示了其实现逻辑,便于读者理解、复现与拓展。; 适合人群:从事智能制造、工业工程、运筹优化等相关领域的研究人员,以及具备Matlab编程基础、希望将智能优化算法应用于实际调度问题的研究生和工程师。; 使用场景及目标:① 掌握主流智能优化算法在解决NP-hard车间调度问题上的具体应用与差异;② 学习如何利用Matlab实现并对比不同优化算法的性能;③ 为解决生产制造、物流配送等领域中的资源调度难题提供算法选型和技术参考。; 阅读建议:建议读者在阅读时重点关注各算法的Matlab实现代码和实验结果对比部分,动手运行代码以直观感受不同算法的寻优过程和效果差异。同时,可结合具体调度约束条件,尝试调整算法参数或融合多种算法思想,以深化对优化机理的理解。

天天程序猿

3D人物伍子胥智能对话及反应动作报告

3D人物伍子胥智能对话及反应动作报告

atye115
评论 6
收藏 已收藏
分享
返回顶部