[英]Not getting results into dataset from database stored procedure for displaying gridview
[英]Gridview datasource from database stored procedure
這是數據庫存儲過程:
ALTER PROCEDURE [dbo].[getShift]
@rfiddata VARCHAR(50)
AS
BEGIN
SELECT
pd.TP, s.s_name, dt.dt_type, dr.dr_date
FROM
TA_System_PersonalDetails pd
INNER JOIN
TA_System_DutyRequest dr ON pd.TP = DR.TP
INNER JOIN
TA_System_Duty d ON dr.d_ID = d.d_ID
INNER JOIN
TA_System_Shift s ON d.s_ID = s.s_ID
INNER JOIN
TA_System_DutyType dt ON d.dt_ID = dt.dt_ID
WHERE
pd.rfid_card = @rfiddata
AND dr.dr_date = CAST(GETDATE() AS DATE)
END
這是C#代碼:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("dbo.getShift", con);
cmd.Parameters.AddWithValue("@rfiddata", data);
cmd.CommandType = CommandType.StoredProcedure;
gvDetails.DataSource = cmd.ExecuteNonQuery();
con.Close();
gridview仍然無法顯示該值。 這個項目是Windows形式的C#。 因此,沒有DataBind()
函數。 先謝謝您的幫助!
我希望這段代碼對您有所幫助
首先我們創建一個連接器來連接數據庫
string cnStr = @"Persist Security Info=False;User ID=usr;password=pwe; Initial Catalog=theDataBase;Data Source=yourDatasource";
並創建一個SqlCommand
,然后將CommandType
設置為StoredProcedure
:
SqlCommand cmd = new SqlCommand();
然后創建一個SqlConnection
並打開數據庫:
using(SqlConnection con = new SqlConnection(cnStr))
{
con.Open();
cmd.Connection = con;
cmd.CommandText = "dbo.getShift"; // this is the stored procedure to execute
cmd.CommandType = CommandType.StoredProcedure;
}//Connection automatically closes here without the need to call conn.Close()
然后創建一個數據集以填充為gridview的數據源:
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
grdYourGrid.DataSource = ds;
grdYourGrid.DataBind();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.