PDA

View Full Version : باز و بسته کردن کانکشنها در یک فرم .



tazekar
سه شنبه 01 مهر 1382, 18:02 عصر
من برای هر شی فرم که میخواد با دیتابیس کار کنه یه بار کانکشن رو بازوبسته میکنم و ممکنه برای هر فرم چندین بار این کار رو انجام بدم .
میخواستم بدونم اینکار درسته یا نه ؟ و اگه نیست چکارکنم ؟

Vahid_Nasiri
سه شنبه 01 مهر 1382, 20:13 عصر
بدلیل خاصیت state- less‌ بودن وب این راه خوبی است.

tazekar
سه شنبه 01 مهر 1382, 21:51 عصر
ممنون از راهنماییتون استاد.
اما با توجه به اینکه باز و بسته کردن کانکشنها هم زمانگیر هست و هم پرهزینه ، آیا راه دیگه ای هم هست ؟

Vahid_Nasiri
سه شنبه 01 مهر 1382, 23:48 عصر
می شود از آنها آبجکت درست کرد و در متغیر سشن ذخیره کرد و .....
ولی چون در هر صفحه ی وب این عملیات باز و بسته کردن زیاد انجام نمی شود بنابراین جای نگرانی نیست.

tazekar
چهارشنبه 02 مهر 1382, 08:21 صبح
سلام
استاد شرمنده . بازم من !!!! :oops:
من نمی دونم اشکال از منه یا asp.net یا sql ؟ :oops:
راستش من یه کانکشن همونطور که گفتین توی web.config درست کردم


<appSettings>
<add
key="myconnection"
value="Server=ka2000;initial catalog=ra;integrated security=SSPI;persist security info=False;workstation id=KA2000;packet size=4096"
/>
</appSettings>

و توی فرم ازش استفاده کرم :


// Put user code to initialize the page here
this.Label1.Text=ConfigurationSettings.AppSettings ["myconnection"];
sc.ConnectionString=ConfigurationSettings.AppSetti ngs["myconnection"];
mycom.Connection=sc;
mycom.CommandText="SELECT About FROM About"
+" WHERE (aboutcode = (SELECT MAX(aboutcode)"
+" FROM about))";
dg.DataSource=ds;
sc.Open();
sda.Fill(ds);
Cache["about"]=ds;
dg.DataBind();
sc.Close();


با این اوصافی که خدمتتون عرض کردم ، بعضی وقتا فرم بالا میاد ولی چیزی نشون نمیده و بعضی وقتا هم همون خطای قبلی رو میگیره :


Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

Line 29: // Put user code to initialize the page here Line 30: this.Label1.Text=ConfigurationSettings.AppSettings ["myconnection"]; Line 31: sc.ConnectionString=ConfigurationSettings.AppSetti ngs["myconnection"]; Line 32: mycom.Connection=sc; Line 33: mycom.CommandText="SELECT About FROM About" ضمن اینکه connection string شی کانکشن هم همیشه همون مقداری رو که میخوام میگیره .

Vahid_Nasiri
چهارشنبه 02 مهر 1382, 11:20 صبح
چون دیتابیس شما را ندارم نمی توانم دقیق اظهار نظر کنم.
شما عبارت SQL ایی را که طراحی کرده اید را در Query analyzer مربوط به SQL-Server تست کنید که آیا صحیح است؟ آیا چیزی را بر می گرداند؟ سپس آنرا در برنامه بکار برید.
همیشه هم از try و catch استفاده کنید.

tazekar
چهارشنبه 02 مهر 1382, 11:35 صبح
سلام
توی Query analyzer درست جواب میده .

Vahid_Nasiri
چهارشنبه 02 مهر 1382, 11:36 صبح
جواب شما:
http://www.eggheadcafe.com/forums/Forumsearchbranch.asp?THREADID=4694&INTID=6