PDA

View Full Version : سوال: اجرای یک کوئری sql در c#



vb-sosol
چهارشنبه 29 بهمن 1393, 20:01 عصر
سلام
دوستان
من یک کوئری در sql نوشتم که شامل دو تا FETCH CURSOR تو در تو هستش
میخوام توی سی شارپ اجراش کنم
می شه راهنمائیم کنید

SabaSabouhi
شنبه 02 اسفند 1393, 09:37 صبح
سلام
دوستان
من یک کوئری در sql نوشتم که شامل دو تا FETCH CURSOR تو در تو هستش
میخوام توی سی شارپ اجراش کنم
می شه راهنمائیم کنید

سلام
این که تو query شما چی هست، تغییری تو صورت مساله ایجاد نمی‌کنه.
این مساله بارها تو این سایت مطرح شده، یه جستجو کنی پیدا می‌کنی.
اما خلاصه این که شما باید یه Sqlconnection و یه SqlCommand ایجاد کنی و با متدهای
موجود اطلاعات رو بخونی.
اگه تک مقدار هست با ExecuteScalar و اگه جدول هست با DataAdapter باید DataTable رو پر کنی.

صبا صبوحی

bahar1823
شنبه 02 اسفند 1393, 18:07 عصر
سلام
اشکال این کد چیه چرا نمی تونه دیتابیس محلی را باز کنه؟

private void button1_Click(object sender, EventArgs e)
{
{
string connetionString = null;
SqlConnection cnn ;
connetionString = "Data Source=|DataDirectory|Database1.sdf";
cnn = new SqlConnection(connetionString);
try {
cnn.Open();
MessageBox.Show ("Connection Open ! ");
cnn.Close() ;

}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}
}
} }

SabaSabouhi
شنبه 02 اسفند 1393, 23:54 عصر
سلام
مطمئنی که Connection String درسته؟

صبا صبوحی

bahar1823
یک شنبه 03 اسفند 1393, 08:51 صبح
سلام
مطمئنی که Connection String درسته؟

صبا صبوحی
سلام فک کنم اشکال در همون Connection String باشه

SabaSabouhi
یک شنبه 03 اسفند 1393, 10:25 صبح
سلام فک کنم اشکال در همون Connection String باشه

سلام
یه کلاس وجود داره به نام ConnectionStringBuilder، از اون استفاده کن.
یا این که با خود VS یک Connection به دیتابیست ایجاد کن، بعد از تو صفحه‌ی Properties مقدار ConnectionString رو کپی کن.

و در آخر این که از نسخه sdf استفاده نکن، محدودیت‌هاش اذیتت می‌کنه.

صبا صبوحی

bahar1823
یک شنبه 03 اسفند 1393, 17:32 عصر
میشه بیشتر راهنمایی کنید دقیقا چه کدی بنویسم

SabaSabouhi
یک شنبه 03 اسفند 1393, 18:47 عصر
میشه بیشتر راهنمایی کنید دقیقا چه کدی بنویسم

سلام
کد لازم نداری، تو Visual Studio قسمت Server Explorer یه Connection به همین دیتابیسی که داری ایجاد کن.
بعد روی Connection یه Click کن و تو پنجره‌ی Properties مقدار ConnectionString رو کپی کن تو برنامه‌ات.

صبا صبوحی

bahar1823
دوشنبه 04 اسفند 1393, 07:11 صبح
سلام
این کارا کردم ولی به ConnectionString ارور می گیره

private void button1_Click(object sender, EventArgs e)
{


string connetionString = null;
SqlConnection cnn ;
connetionString = "Data Source=C:\Users\somaie\Documents\Visual Studio 2010\Projects\WindowsFormsApplication3\WindowsForm sApplication3\Database1.sdf";
cnn = new SqlConnection(connetionString);
try {
cnn.Open();
MessageBox.Show ("Connection Open ! ");
cnn.Close() ;

}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}

SabaSabouhi
دوشنبه 04 اسفند 1393, 08:56 صبح
سلام
این کارا کردم ولی به ConnectionString ارور می گیره


سلام
قبل از شروع رشته یه @ بگذار مشکل حل می‌شه.

var connectionString = @"DataSource=c:\ . . . ";


صبا صبوحی

bahar1823
دوشنبه 04 اسفند 1393, 10:32 صبح
سلام
بازم نمیتونه conection را باز کنه

golbafan
دوشنبه 04 اسفند 1393, 12:15 عصر
سلام
قبل از شروع رشته یه @ بگذار مشکل حل می‌شه.

var connectionString = @"DataSource=c:\ . . . ";


صبا صبوحی

سلام میشه توضیح بدید چرا بصورت پوینتر استفاده کردید (منظورم @ است)

SabaSabouhi
دوشنبه 04 اسفند 1393, 12:45 عصر
سلام
بازم نمیتونه conection را باز کنه

سلام
لطف کن، کد رو کپی کن. بلکه مشکل رو پیدا کنیم.
البته اون که گفتم قطعاً یه مشکل بود. حالا باید دید دیگه چرا وصل نمی‌شه.

صبا صبوحی

SabaSabouhi
دوشنبه 04 اسفند 1393, 12:48 عصر
سلام میشه توضیح بدید چرا بصورت پوینتر استفاده کردید (منظورم @ است)

سلام
این @ چه ربطی به پوینتر داره؟
وقتی این کاراکتر رو قبل از رشته بگذاری، دیگه کاراکترهای کنترلی توی رشته در نظر نمی‌گیره.
مثلاً اگه تو رشته‌ی عادی داشته باشی "a\nb" و چاپش کنی، یک a می‌نویسه و تو خط بعد یه b
اما اگه داشته باشی "a\nb"@ چیزی که چاپ می‌شه دقیقا a\nb هست.

صبا صبوحی

ahmadnajaf403i
دوشنبه 04 اسفند 1393, 12:51 عصر
سلام من هم همین مشکلو دارم و حل نشده هنوز :گریه:

golbafan
دوشنبه 04 اسفند 1393, 13:01 عصر
سلام
این @ چه ربطی به پوینتر داره؟
وقتی این کاراکتر رو قبل از رشته بگذاری، دیگه کاراکترهای کنترلی توی رشته در نظر نمی‌گیره.
مثلاً اگه تو رشته‌ی عادی داشته باشی "a\nb" و چاپش کنی، یک a می‌نویسه و تو خط بعد یه b
اما اگه داشته باشی "a\nb"@ چیزی که چاپ می‌شه دقیقا a\nb هست.

صبا صبوحی

سلام. یک لحظه رفتم تو فضای دلفی :قهقهه:

bahar1823
دوشنبه 04 اسفند 1393, 14:33 عصر
سلام
لطف کن، کد رو کپی کن. بلکه مشکل رو پیدا کنیم.
البته اون که گفتم قطعاً یه مشکل بود. حالا باید دید دیگه چرا وصل نمی‌شه.

صبا صبوحی

کلش همینه

private void button1_Click(object sender, EventArgs e)
{


string connetionString = null;
SqlConnection cnn ;

connetionString = "Data Source=C:\Users\somaie\Documents\Visual Studio 2010\Projects\WindowsFormsApplication3\WindowsForm sApplication3\Database1.sdf";

cnn = new SqlConnection(connetionString);
try {
cnn.Open();
MessageBox.Show ("Connection Open ! ");

cnn.Close() ;

}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}

}

SabaSabouhi
دوشنبه 04 اسفند 1393, 19:30 عصر
کلش همینه

private void button1_Click(object sender, EventArgs e)
{


string connetionString = null;
SqlConnection cnn ;

connetionString = "Data Source=C:\Users\somaie\Documents\Visual Studio 2010\Projects\WindowsFormsApplication3\WindowsForm sApplication3\Database1.sdf";

cnn = new SqlConnection(connetionString);
try {
cnn.Open();
MessageBox.Show ("Connection Open ! ");

cnn.Close() ;

}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}

}



سلام
باز که اول string کاراکتر @ رو نگذاشتی. من که مثال هم زدم.
کاراکتر رو اضافه کن، اگه درست نشد، بگو

صباصبوحی

bahar1823
دوشنبه 04 اسفند 1393, 21:01 عصر
سلام
نه گذاشتم بازم جواب نداد

SabaSabouhi
سه شنبه 05 اسفند 1393, 08:07 صبح
سلام
نه گذاشتم بازم جواب نداد

سلام
دوست من، نسخه‌ی نهایی رو بعد از اضافه کردن اون @ رو کپی کن لطفاً

صبا صبوحی

bahar1823
سه شنبه 05 اسفند 1393, 12:26 عصر
private void button1_Click(object sender, EventArgs e)

{





string connetionString = null;

SqlConnection cnn ;



connetionString = @"Data Source=C:\Users\somaie\Documents\Visual Studio 2010\Projects\WindowsFormsApplication3\WindowsForm sApplication3\Database1.sdf";



cnn = new SqlConnection(connetionString);

try {

cnn.Open();

MessageBox.Show ("Connection Open ! ");



cnn.Close() ;



}

catch (Exception ex)

{

MessageBox.Show("Can not open connection ! ");

}



}

SabaSabouhi
سه شنبه 05 اسفند 1393, 12:51 عصر
سلام
خواهش می‌کنم عبارت «Persist Security Info=False» رو به ConnectionString اضافه کنید.
اگر باز هم خطا داد، شرح خطا ( ex.Message ) رو هم برامون بفرستین.

صبا صبوحی