[英]I want to insert data from one table into another at same time using stored procedure in SQL server
第一期表
BookID | BookName | DateIssue | ReturnDate | PersonID
| | | |
1 | Sqlserver| 4/4/2015 | 5/5/2015 | 22
我想將 tblIssue 中的值插入到返回表中,但是,不能...第二個返回表
BookID | BookName | DateIssue | ReturnDate | PersonID
| | | |
1 | Sqlserver| 4/4/2015 | 5/5/2015 | 22
查詢正在 sql server 中運行.. 我想,我在 sql server 查詢中有錯誤
Stored proc query:
'CREATE PROCEDURE inserttwo
(
@BookID int,
@BookName nvarchar(50),
@DateIssue datetime,
@ReturnDate datetime,
@PersonID int
)
as
insert into tblReturn(BookID,BookName,DateIssue,ReturnDate,PersonID)
values(@BookID,@BookName,@DateIssue,@ReturnDate,@PersonID)
select * from tblIssue
C#中的錯誤:
過程或函數“inserttwo”需要參數“@BookID”,
那是不供給的。
這里是指向錯誤:sda.Fill(dt);
C# code:
public void storedproc()
{
string w = ConfigurationManager.ConnectionStrings["LMS"].ConnectionString;
SqlConnection conn = new SqlConnection(w);
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand("inserttwo", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
conn.Open();
sda.Fill(dt);
metroGrid1.DataSource = dt;
conn.Close(); }
你必須添加參數
string w = ConfigurationManager.ConnectionStrings["LMS"].ConnectionString;
using (SqlConnection conn = new SqlConnection(w))
{
DataTable dt = new DataTable();
using (SqlCommand cmd = new SqlCommand("inserttwo", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@BookID", SqlDbType.Int).Value = BookID;
cmd.Parameters.Add("@BookName", SqlDbType.NVarChar, 50).Value = BookName;
cmd.Parameters.Add("@DateIssue", SqlDbType.DateTime).Value = Date;
cmd.Parameters.Add("@ReturnDate", SqlDbType.DateTime).Value = ReturnDate;
cmd.Parameters.Add("@PersonID", SqlDbType.Int).Value = PersonID;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
conn.Open();
sda.Fill(dt);
metroGrid1.DataSource = dt;
}
conn.Close();
}
該過程需要@BookID,@BookName,@DateIssue,@ReturnDate,@PersonID
因此您必須添加它們並用值填充它們。
更新要將數據插入到 2 個表中,您的過程應該看起來像這樣,而無需知道您的表結構,就不可能給您一個有效的答案
'CREATE PROCEDURE inserttwo
(
@BookID int,
@BookName nvarchar(50),
@DateIssue datetime,
@ReturnDate datetime,
@PersonID int
)
as
insert into tblReturn(BookID,BookName,DateIssue,ReturnDate,PersonID)
values(@BookID,@BookName,@DateIssue,@ReturnDate,@PersonID)
insert into tblIssue(BookID,BookName,DateIssue,ReturnDate,PersonID)
values(@BookID,@BookName,@DateIssue,@ReturnDate,@PersonID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.