نقل قول: گرفتن رکورد های برگشتی
سلام.
sp رو به شکل زیر تغییر بده
ALTER Procedure ShowFiled
@id int
as
begin
select * from [user] where code=@id
Return
end
کد سی شارپ هم به صورت زیر:
SqlConnection cn = new SqlConnection();
SqlCommand cm = new SqlCommand();
cn.ConnectionString = Connection;
cm.Connection = cn;
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "showfiled";
cm.Parameters.AddWithValue("@id", id);
if (cn.State != System.Data.ConnectionState.Open)
cn.Open();
SqlDataReader dr = cm.ExecuteReader();
DataTable dt = new DataTable();
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "UserName";
dt.Columns.Add("UserName");
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "Password";
dt.Columns.Add(column);
while(dr.Read())
{
DataRow dar = dt.NewRow();
dar["Username"] = dr["name"];
dar["Password"] = dr["pass"];
dt.Rows.Add(dar);
}
return dt;
}
نقل قول: گرفتن رکورد های برگشتی
به جای ????? کامندت رو Execute کن
نقل قول: گرفتن رکورد های برگشتی
سلام.
در sp که نوشتید نیازی به پارامتر tblname@ نیست. همچنین زمانیکه میخواید فقط یک دستور رو اجرا کنید نیازی به begin و end نیست.(نوشتنش اشتباه نیست ولی ضرورتی هم نداره. دقیقا مثل قوانین برنامه نویسی هست)
ALTER Procedure ShowFiled
@id int
as
select * from [user] where code=@id
این کد رو ببینید :
SqlConnection cn = new SqlConnection(Connection);
SqlDataAdapter da = new SqlDataAdapter("ShowFiled", cn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@id", TxtID.Text);
DataTable dt = new DataTable();
da.Fill(dt);
datagridview1.DataSource = dt;
موفق باشید.
نقل قول: گرفتن رکورد های برگشتی
سلام.دست شما درد نکنه.ممنون