這個是程式
//string ls_xh
string ls_isbn
string ls_sm
string ls_zz
string ls_jg
string ls_lbbh
string ls_cbs
string ls_cbrq
string li_sl
//ls_xh=sle_1.text
// if ls_xh='' or isnull(ls_xh) then
// MessageBox('系統提示','請正確的輸入序號')
// return
// end if
ls_isbn=sle_2.text
if ls_isbn='' or isnull(ls_isbn) then
MessageBox('系統提示','請正確的輸入isbn')
return
end if
ls_sm=sle_3.text
if ls_sm='' or isnull(ls_sm) then
MessageBox('系統提示','請正確的輸入書名')
return
end if
ls_zz=sle_4.text
if ls_zz='' or isnull(ls_zz) then
MessageBox('系統提示','請正確的輸入作者')
return
end if
ls_jg=sle_5.text
if ls_jg='' or isnull(ls_jg) then
MessageBox('系統提示','請正確的輸入價格')
return
end if
ls_lbbh=sle_6.text
if ls_lbbh='' or isnull(ls_lbbh) then
MessageBox('系統提示','請正確的輸入類別編號')
return
end if
ls_cbs=sle_7.text
if ls_cbs='' or isnull(ls_cbs) then
MessageBox('系統提示','請正確的輸入出版社')
return
end if
ls_cbrq=sle_8.text
if ls_cbrq='' or isnull(ls_cbrq) then
MessageBox('系統提示','請正確的輸入出版日期')
return
end if
li_sl=sle_9.text
if li_sl='' or isnull(li_sl) or li_sl='0'then
MessageBox('系統提示','請正確的輸入數量')
return
end if
dec ld_jg
ld_jg=dec(sle_5.text)
dec ld_sl
ld_sl=dec(sle_9.text)
DECLARE abc_proc1 PROCEDURE FOR p_bm_book_info @t_isbn=:sle_2.text,@t_sm=:sle_3.text,@t_zz=:sle_4.text,@t_jg=:ld_jg,@t_lbbh=:sle_6.text,@t_cbs=:sle_7.text,@t_cbrq=:sle_8.text,@t_sl=:ld_sl;
EXECUTE abc_proc1;
MessageBox('系統提示',SQLCA.SQLCODE)
if SQLCA.SQLCODE =0 THEN
commit;
MESSAGEBOX("提示","保存成功")
else
rollback;
MESSAGEBOX("錯誤","保存失敗,錯誤代碼為 "+ sqlca.sqlerrtext+"'")
return
end if
close abc_proc1;
這個是存盤程序
USE [pnyy]
GO
/****** Object: StoredProcedure [dbo].[p_bm_book_info] Script Date: 05/20/2017 07:42:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[p_bm_book_info]
@t_isbn varchar(30),
@t_sm varchar(100),
@t_zz varchar(50),
@t_jg decimal(18, 2),
@t_lbbh varchar(2),
@t_cbs varchar(100),
@t_cbrq varchar(10),
@t_sl int
as
declare @rowcount varchar(100)
begin
insert into bm_book_info(isbn,sm,zz,jg,lbbh,cbs,cbrq,sl) values (@t_isbn,@t_sm,@t_zz,@t_jg,@t_lbbh,@t_cbs,@t_cbrq,@t_sl)
select @rowcount=count(sm) from bm_book_info where sm=@t_sm
end
if @rowcount = 1
return 1
else
return @@error
但是從程式中呼叫是會提示transaction not connected,sql.sqlcode為-1
請問是什么問題?
uj5u.com熱心網友回復:
提示很清楚了,sqlca是不是沒有connect 呀uj5u.com熱心網友回復:
sqlca這個全域變數未連接資料庫,你需要先連接資料庫,再執行存盤程序uj5u.com熱心網友回復:
怎么連接?具體說下唄,我是小白uj5u.com熱心網友回復:
SQLCA.DBMS = "ADO.Net" //介面,還可以有ODBC等不同介面SQLCA.LogPass = 密碼
SQLCA.LogId = 用戶
SQLCA.AutoCommit = true //自動提交
SQLCA.DBParm = "Namespace='System.Data.OleDb',Provider='SQLOLEDB',DataSource='服務器',Database='你的資料庫',NCharBind=1" //連接各屬性,不同介面,寫法不同
connect using sqlca;
關于sqlca,還是百度了解一下的好,網上的資源很多。
uj5u.com熱心網友回復:
對,檢查有沒有連接資料庫哇uj5u.com熱心網友回復:
可以用sqlca的handle檢查一下sqlca是否有連接。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/21350.html
標籤:數據庫相關
