علیرضا حسن زاده
یک شنبه 02 خرداد 1389, 23:03 عصر
من یه sp به صورت زیر
ALTER PROCEDURE [dbo].[SelectAllData]
AS
SET NOCOUNT ON;
SELECT *
FROM B_Person
return @@rowcount
نوشتم و تو C# هم کد زیر
var con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=E:\MyDB.MDF;Integrated Security=True");
con.Open();
var com = new SqlCommand("dbo.SelectAllData") { Connection = con, CommandType = CommandType.StoredProcedure };
var sqlParam = com.Parameters.Add("@ReturnValue", SqlDbType.Int);
sqlParam.Direction = ParameterDirection.ReturnValue;
var reader = com.ExecuteReader(CommandBehavior.CloseConnection) ;
if (reader == null) return;
MessageBox.Show(reader.RecordsAffected.ToString()) ;
MessageBox.Show(com.Parameters["@ReturnValue"].Value.ToString());
نوشتم می خوام قبل از شروع به دریافت اطلاعات (تعداد سطرهای دیتابیس زیاده) تعداد کل سطر های برگشتی رو داشته باشم تا بتونم روند اجرای عملیات رو به صورت درصد به کاربر نشون بدم (البته فعلا تو Messagebox نوشتم) ولی هر کاری می کنم Messagebox دوم خطا میده که Value مقدارش Null هست تو MessageBox اول هم مقدار -1 رو برمی گردونه
البته SP تو محیط SqlServer درست کار میکنه فکر کنم مشکل از کد C# هست از DaraReader هم برای بالا بردن سرعت دریافت اطلاعات استفاده کردم
لطفا راهنمایی کنید؟:گیج:
ALTER PROCEDURE [dbo].[SelectAllData]
AS
SET NOCOUNT ON;
SELECT *
FROM B_Person
return @@rowcount
نوشتم و تو C# هم کد زیر
var con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=E:\MyDB.MDF;Integrated Security=True");
con.Open();
var com = new SqlCommand("dbo.SelectAllData") { Connection = con, CommandType = CommandType.StoredProcedure };
var sqlParam = com.Parameters.Add("@ReturnValue", SqlDbType.Int);
sqlParam.Direction = ParameterDirection.ReturnValue;
var reader = com.ExecuteReader(CommandBehavior.CloseConnection) ;
if (reader == null) return;
MessageBox.Show(reader.RecordsAffected.ToString()) ;
MessageBox.Show(com.Parameters["@ReturnValue"].Value.ToString());
نوشتم می خوام قبل از شروع به دریافت اطلاعات (تعداد سطرهای دیتابیس زیاده) تعداد کل سطر های برگشتی رو داشته باشم تا بتونم روند اجرای عملیات رو به صورت درصد به کاربر نشون بدم (البته فعلا تو Messagebox نوشتم) ولی هر کاری می کنم Messagebox دوم خطا میده که Value مقدارش Null هست تو MessageBox اول هم مقدار -1 رو برمی گردونه
البته SP تو محیط SqlServer درست کار میکنه فکر کنم مشکل از کد C# هست از DaraReader هم برای بالا بردن سرعت دریافت اطلاعات استفاده کردم
لطفا راهنمایی کنید؟:گیج: