try
pwd:=myinifile.ReadString('setup','password','');
for I:=0 to length(pwd)-1 do
begin
pwd[i]:=chr(ord(pwd[i])xor 12);
end;
Data_source:=myinifile.ReadString('setup','Data_Source','127.0.0.1');
Initial_Catalog:= myinifile.ReadString('setup','Initial_Catalog','DataBase');
User_Id:=myinifile.ReadString('setup','User_Id','user');
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+
pwd+';Persist Security Info=True;User ID='+
User_Id+';Initial Catalog='+Initial_Catalog
+';Data Source='+Data_Source;
Adoconnection1.Connected := true;
Adoquery1.SQL.Add('insert into leechdom_Note (buy_date,Drug_Name,Spec,Dose,Units,'
+'Amount,Buy_price,Buy_Inc,Produce_cor,Batch_Num,Period_of_val'
+'License_Num,Quality_Sta,Conclusion,Inspector,Sign_Date,Memo)'
+'Values(left(getdate(),10),'+EdtName.text+','+EdtSpec.text+','
+EdtDose.text+','+EdtUnit.text+','+EdtNum.text+','+EdtBuy.text+','
+EdtInc.text+','+EdtCor.text+','+EdtBat.text+','+EdtPer.text+','
+EdtLic.text+','+EdtQua.text+','+EdtCon.text+','+EdtMem.text
+')');
Adoquery1.Open;
adoquery1.Destroy;
except
adoquery1.Destroy;报非法访问内存!
pwd:=myinifile.ReadString('setup','password','');
for I:=0 to length(pwd)-1 do
begin
pwd[i]:=chr(ord(pwd[i])xor 12);
end;
Data_source:=myinifile.ReadString('setup','Data_Source','127.0.0.1');
Initial_Catalog:= myinifile.ReadString('setup','Initial_Catalog','DataBase');
User_Id:=myinifile.ReadString('setup','User_Id','user');
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+
pwd+';Persist Security Info=True;User ID='+
User_Id+';Initial Catalog='+Initial_Catalog
+';Data Source='+Data_Source;
Adoconnection1.Connected := true;
Adoquery1.SQL.Add('insert into leechdom_Note (buy_date,Drug_Name,Spec,Dose,Units,'
+'Amount,Buy_price,Buy_Inc,Produce_cor,Batch_Num,Period_of_val'
+'License_Num,Quality_Sta,Conclusion,Inspector,Sign_Date,Memo)'
+'Values(left(getdate(),10),'+EdtName.text+','+EdtSpec.text+','
+EdtDose.text+','+EdtUnit.text+','+EdtNum.text+','+EdtBuy.text+','
+EdtInc.text+','+EdtCor.text+','+EdtBat.text+','+EdtPer.text+','
+EdtLic.text+','+EdtQua.text+','+EdtCon.text+','+EdtMem.text
+')');
Adoquery1.Open;
adoquery1.Destroy;
except
adoquery1.Destroy;报非法访问内存!
解决方案 »
- 请教一个问题:DbGridEh设置了两行标题,比如:张三(副经理),需要分成两行,第一行是张三,而不是张三(
- 求助:如何让图像A(image)重叠在图像B(image)上面时,A中的白色成为透明色,显示B的颜色???
- 如果没有安装winrar如何压缩文件。
- Delphi 7 用odbc 连接mysql问题
- 求控件! 急用, 各位大哥帮帮忙啊, 要不然会死人的!
- 怎样改注册表(改哪一项),设置打印机默认为横向.
- 用InstallShield6.31制作安装程序时,如果把图标编程6.3版本一样的图。而不要它原来的。或者干脆把整个对方框图标改了。高手指点,谢谢了
- 送分来啦!(一个小小的问题)
- 关于不登录就运行服务程序的可能性讨论
- formula one 的readfromblob方法的使用问题
- 关于indy连接ftp的问题
- 如何用table修改字段值(用语句对字段赋值)
pwd:=myinifile.ReadString('setup','password','');
for I:=1 to length(pwd) do //不是从0开始
begin
pwd[i]:=chr(ord(pwd[i])xor 12);
end;
...
Adoquery1.Open;
Adoquery1.Close;
Adoquery1.Free;
except
Adoquery1.free;
end;
pwd:=myinifile.ReadString('setup','password','');
for I:=0 to length(pwd)-1 do
begin
pwd[i]:=chr(ord(pwd[i])xor 12);
end;
Data_source:=myinifile.ReadString('setup','Data_Source','127.0.0.1');
Initial_Catalog:= myinifile.ReadString('setup','Initial_Catalog','DataBase');
User_Id:=myinifile.ReadString('setup','User_Id','user');
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+
pwd+';Persist Security Info=True;User ID='+
User_Id+';Initial Catalog='+Initial_Catalog
+';Data Source='+Data_Source;
Adoconnection1.Connected := true;
//-----------------------------------------------------------------------------
adoquery1.connection:=adoconnection1;//----查询组件要指定下它的连接组件;
adoquery1.close;
adoquery1.sql.clear;//指定SQL指令时,最好要先清除它原有的SQL指令;
//---------------------------------------------------------------------------
Adoquery1.SQL.Add('insert into leechdom_Note (buy_date,Drug_Name,Spec,Dose,Units,'
+'Amount,Buy_price,Buy_Inc,Produce_cor,Batch_Num,Period_of_val'
+'License_Num,Quality_Sta,Conclusion,Inspector,Sign_Date,Memo)'
+'Values(left(getdate(),10),'+EdtName.text+','+EdtSpec.text+','
+EdtDose.text+','+EdtUnit.text+','+EdtNum.text+','+EdtBuy.text+','
+EdtInc.text+','+EdtCor.text+','+EdtBat.text+','+EdtPer.text+','
+EdtLic.text+','+EdtQua.text+','+EdtCon.text+','+EdtMem.text
+')');
Adoquery1.Open;
adoquery1.Destroy;//adoquery1是动态创建的吗?如果不是,
//就不要个操作了.再说你释放adoquery1不要直接调用Destroy,
//而应当调用它的FREE方法才安全.
except
adoquery1.Destroy;//---这里原因同上.
end;
其他的地方你要注意数据库连接串是否正确等等......
另外,ADOQuery1.ExecSQL
adoquery1.Destroy;
原因在这,一个是不用open要用excsql
再一个是不能一open就destroy,这样你adoquery一旦与数据源建立连接,不出错才怪.
现在的代码如下:
Adoconnection1.Connected := true;
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('insert into leechdom_Note (buy_date,Drug_Name,Spec,Dose,'
+'Units,Amount,Buy_price,Buy_Inc,Produce_cor,Batch_Num,Period_of_val,'
+'License_Num,Quality_Sta,Conclusion,Inspector,Sign_Date,Memo) Values('''+ datetostr(DateTimePicker.Date)+''','''+Trim(EdtName.text)+''','''+Trim(EdtSpec.text)+''','''
+Trim(EdtDose.text)+''','''+Trim(EdtUnit.text)+''','''+Trim(EdtNum.text)+''','''+Trim(EdtBuy.text)+''','''
+Trim(EdtInc.text)+''','''+Trim(EdtCor.text)+''','''+Trim(EdtBat.text)+''','''+Trim(EdtPer.text)+''','''
+Trim(EdtLic.text)+''','''+Trim(EdtQua.text)+''','''+Trim(EdtCon.text)+''','''+'''56'''+'''23'''
+''','''+Trim(EdtMem.text)+''')');
Adoquery1.ExecSQL;
except
Adoconnection1.Free;
Adoquery1.Free;运行后提示非法访问内存,这里又不能帖图,错误的应该是在SQL语句上吧!还有,为什么要用'''而不是用',我查了书上,好像都是用'''的。
---------->>>>>adoquery1.execsql;
ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+
pwd+';Persist Security Info=True;User ID='+
User_Id+';Initial Catalog='+Initial_Catalog
+';Data Source='+Data_Source;这段代码不对,我换成不用变量的,就能行的!