VBA 代码:将数据插入 TestNo 表
该代码片段展示了如何使用 VBA 将数据插入名为 TestNo 的数据库表中。代码通过参数化查询来实现数据插入操作,并对不同字段进行了赋值操作。
cmd.ActiveConnection = conn
cmd.CommandText = 'insert into TestNo(TestNo,PlayTime,TestPreceptName,SaveFileName,sampleShape,Area,GaugeLength,IsLogicDel,photoPixJishu,ElasticBeginDotPos,ElasticEndDotPos,UpYieldDotPos,DownYieldDotPos,MaxDotPos,RpPos,RtPos,RpValue,RtValue,SampleWidth,SampleThick,SampleDia,SampleMinDia,SampleOutDia,SampleInnerDia,DeformSensorName,ExtSensorTotal,ExtSensorDeviceName1,ExtSensorDeviceName2,ExtSensorDeviceName3,ExtSensorDeviceName4,ExtSensorDeviceName5,ExtSensorDeviceName6) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)'
cmd.Parameters.Append cmd.CreateParameter('value0', adVarChar, adParamInput, 255, Range('G' & i).Value) 'TestNo
cmd.Parameters.Append cmd.CreateParameter('value1', adVarChar, adParamInput, 255, pt) '时间
cmd.Parameters.Append cmd.CreateParameter('value2', adVarChar, adParamInput, 255, Range('M4').Value) '试验方案名
cmd.Parameters.Append cmd.CreateParameter('value3', adVarChar, adParamInput, 255, Range('M5').Value) '文件名称
cmd.Parameters.Append cmd.CreateParameter('value4', adVarChar, adParamInput, 255, 1)
cmd.Parameters.Append cmd.CreateParameter('value5', adVarChar, adParamInput, 255, area) '面积
cmd.Parameters.Append cmd.CreateParameter('value6', adVarChar, adParamInput, 255, Range('D' & i).Value) '长度
cmd.Parameters.Append cmd.CreateParameter('value7', adVarChar, adParamInput, 255, myBoolean) 'IsLogicDel
cmd.Parameters.Append cmd.CreateParameter('value8', adVarChar, adParamInput, 255, Sheets('参考数据').Range('M' & i).Value) 'photoPixJishu
cmd.Parameters.Append cmd.CreateParameter('value9', adVarChar, adParamInput, 255, Sheets('参考数据').Range('N' & i).Value) 'ElasticBeginDotPos
cmd.Parameters.Append cmd.CreateParameter('value10', adVarChar, adParamInput, 255, Sheets('参考数据').Range('O' & i).Value) 'ElasticEndDotPos
cmd.Parameters.Append cmd.CreateParameter('value11', adVarChar, adParamInput, 255, 0) 'UpYieldDotPos
cmd.Parameters.Append cmd.CreateParameter('value12', adVarChar, adParamInput, 255, Sheets('参考数据').Range('P' & i).Value) 'DownYieldDotPos
cmd.Parameters.Append cmd.CreateParameter('value13', adVarChar, adParamInput, 255, Sheets('参考数据').Range('Q' & i).Value) 'MaxDotPos
cmd.Parameters.Append cmd.CreateParameter('value14', adVarChar, adParamInput, 255, Sheets('参考数据').Range('P' & i).Value) 'RpPos
cmd.Parameters.Append cmd.CreateParameter('value15', adVarChar, adParamInput, 255, 35) 'RtPos
cmd.Parameters.Append cmd.CreateParameter('value16', adVarChar, adParamInput, 255, 0.2) 'RpValue
cmd.Parameters.Append cmd.CreateParameter('value17', adVarChar, adParamInput, 255, 0.5) 'RtValue
cmd.Parameters.Append cmd.CreateParameter('value18', adVarChar, adParamInput, 255, Range('E' & i).Value) 'SampleWidth宽度
cmd.Parameters.Append cmd.CreateParameter('value19', adVarChar, adParamInput, 255, Range('F' & i).Value) 'SampleThick厚度
cmd.Parameters.Append cmd.CreateParameter('value20', adVarChar, adParamInput, 255, 0) 'SampleDia直径
cmd.Parameters.Append cmd.CreateParameter('value21', adVarChar, adParamInput, 255, 0) 'SampleMinDia最小直径
cmd.Parameters.Append cmd.CreateParameter('value22', adVarChar, adParamInput, 255, 0) 'SampleOutDia
cmd.Parameters.Append cmd.CreateParameter('value23', adVarChar, adParamInput, 255, 0) 'SampleInnerDia
cmd.Parameters.Append cmd.CreateParameter('value24', adVarChar, adParamInput, 255, 3) 'DeformSensorName
cmd.Parameters.Append cmd.CreateParameter('value25', adVarChar, adParamInput, 255, 0) 'ExtSensorTotal
cmd.Parameters.Append cmd.CreateParameter('value26', adVarChar, adParamInput, 255, '扩展设备' & 9 - i) 'ExtSensorDeviceName1
cmd.Parameters.Append cmd.CreateParameter('value27', adVarChar, adParamInput, 255, '扩展设备' & 10 - i) 'ExtSensorDeviceName2
cmd.Parameters.Append cmd.CreateParameter('value28', adVarChar, adParamInput, 255, '扩展设备' & 11 - i) 'ExtSensorDeviceName3
cmd.Parameters.Append cmd.CreateParameter('value29', adVarChar, adParamInput, 255, '扩展设备' & 12 - i) 'ExtSensorDeviceName4
cmd.Parameters.Append cmd.CreateParameter('value30', adVarChar, adParamInput, 255, '扩展设备' & 13 - i) 'ExtSensorDeviceName5
cmd.Parameters.Append cmd.CreateParameter('value31', adVarChar, adParamInput, 255, '扩展设备' & 14 - i) 'ExtSensorDeviceName6
cmd.Execute
代码说明:
- 代码首先建立数据库连接 (cmd.ActiveConnection = conn),并设置要执行的 SQL 语句 (cmd.CommandText)。
- 接着,代码使用参数化查询,将每个字段的值用参数进行替换。例如,对于 TestNo 字段,代码使用
Range('G' & i).Value获取单元格的值并将其赋值给参数 'value0'。 - 最后,代码使用
cmd.Execute执行 SQL 语句,将数据插入 TestNo 表中。
注意:
- 该代码片段仅展示了数据插入的基本操作,实际应用中可能需要根据具体需求进行调整。
- 代码中使用
i变量来循环读取数据,请确保代码中其他部分正确设置了i变量的值。 - 请注意代码中使用的变量名和数据类型是否与实际环境相匹配。
- 建议使用参数化查询来插入数据,以确保数据的安全性和可维护性。
原文地址: https://www.cveoy.top/t/topic/oonV 著作权归作者所有。请勿转载和采集!