PDA

View Full Version : اتصال پایگاه داده sql server به برنامه #c



sima2000
سه شنبه 12 اردیبهشت 1391, 09:47 صبح
سلام دوستان عزیز
خیلی هم تو این سایت هم تو سایتهای دیگه جستجو کردم ولی جوابمو پیدا نکردم .
نمی دونم که آیا اشکال از طریقه ایجاد بانک اطلاعاتیم هست یا طریقه اتصال دادنم؟
من بانک اطلاعاتی را در sql server management studio از طریق راست کلیک کردن و انتخاب گزینه new database ایجاد می کنم بعد جداول رو درست می کنم
بعد تو سی شارپ data grid رو با بانک اطلاعاتی ارتباط می دم که اصلا" نمیشناسه
نمی دونم از سرور اشکال میگیره یا از یه جای دیگه هست؟
لطفا" اگر امکان داره کمک کنید(طوری که متوجه بشم. آخه من زیاد وارد نیستم)
ول صورت مسئله رو خدمتتون عرض کنم: می خام برنامه مکانیزاسییوم انجمن ام اس رو بنویسم که بیماران و اطلاعاتشون رو از طریق برنامه ثبتنام کنه
86540865418654286543

hamed_hossani
سه شنبه 12 اردیبهشت 1391, 10:31 صبح
سلام
من هم این مشکل رو دارم
دلیلش ناسازگاری ورژن اسکیو ال است ،فکر می کنم!
مشکل من ناسازگاری vs2010 , sql 2005 developer است
که فکر می کنم با sql 2008 r2 حل شه.

tehran11
سه شنبه 12 اردیبهشت 1391, 12:33 عصر
دوست عزیز، پیغامی خطایی که هستش، مال اینه که شما یوزر نیم و پسوردی که برای اتصال به دیتابیست لازم هستش رو تو کانکشن استرینگت ندادی !

لطف کن متن کانکشن استرینگت رو هم بزار تا مشخص بشه که ایراد از چیه.

sima2000
پنج شنبه 14 اردیبهشت 1391, 11:47 صبح
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace project1
{
class database
{
public void showdata(DataGridView v1, string s)
{
SqlConnection objconnection = new SqlConnection("datasource=(local);initial catalog=project;integrated security=true");
objconnection.Open();
SqlCommand objcommand = new SqlCommand(s,objconnection);
object[] x = new object[15];
SqlDataReader objdatareader = new SqlDataReader();
while (objdatareader.Read())
{
objdatareader.GetSqlValues(x);
v1.Rows.Add(x);
}
objconnection.Close();
}
public void managedata(string s)
{
SqlConnection objconnection = new SqlConnection("datasource=(local);initial catalog=project;integrated security=true");
objconnection.Open();
SqlCommand cmd1 = new SqlCommand(s, objconnection);
cmd1.ExecuteNonQuery();
objconnection.Close();
}
internal void showdata2(string s)
{
throw new NotImplementedException();


}
}
}

mandanim
پنج شنبه 14 اردیبهشت 1391, 12:19 عصر
Data Source=name server;Initial Catalog=database name;Persist Security Info=True;User ID=user name;Password=password
به هیچ عنوان مشکل نسخه یا چیزای تو این مایه ها نیست
مشکل نوع ارتباط است
قوانین رو رعایت کنی مشکلت به راحتی حل مشیه

sima2000
پنج شنبه 14 اردیبهشت 1391, 12:46 عصر
من متوجه منظورتون نشدم
منظور چه قوانینی هست یه راه حل کاربردی بگین که مشکل این پیغامهای خطا حل بشه

mandanim
پنج شنبه 14 اردیبهشت 1391, 13:08 عصر
روش پیشنهادی من
ابتدا فایل mdf رو داخل پوشه برنامت بیار و روی اون دوبار کلیک کن تا برات داخل server explorer نمایش داده بشه
و برای بدست آوردن Connection بهترین راه حل راست کلیک بروی نام بانک اطلاعاتی و propertires اون هست
بعد Connection string اون رو کپی و paste کن
و ...
اگه نشد راه حلها دیگه فعلا این رو امتحان کن

sima2000
شنبه 16 اردیبهشت 1391, 09:40 صبح
مشکل قبلی حل نشده هر بار یه مشکل جدید مهندس کارو رو که گفتین یعنی گفتین که "فایل mdf رو داخل پوشه برنامت بیار " وقتی انجام دادم این شکلی شد
86684
86685
هیچ پنجره و برنامه باز ندارم ولی میگه باید فایل رو در sql ببندم یعنی چی؟؟؟؟؟؟؟؟

arash ghafori
شنبه 16 اردیبهشت 1391, 11:53 صبح
مشکل قبلی حل نشده هر بار یه مشکل جدید مهندس کارو رو که گفتین یعنی گفتین که "فایل mdf رو داخل پوشه برنامت بیار " وقتی انجام دادم این شکلی شد
86684
86685
هیچ پنجره و برنامه باز ندارم ولی میگه باید فایل رو در sql ببندم یعنی چی؟؟؟؟؟؟؟؟



دوست عزیز ، من فکر میکنم علت این پیغام مقداری هستش که به کانانکشن استرینگ بانکت دادی . این کد رو برای مقدار کانانکشن استرینگ بنویس شاید درست بشه :

86688

sima2000
شنبه 16 اردیبهشت 1391, 12:24 عصر
دوست عزیز درست نشد آخه مقدار کانکشن استرینگ آیا ربط داره به عمل کپی کردن فایل sql به پوشه برنامه ؟
خط دوم برنامه کامل دیده نمیشه constring
در ادامه اش نام بانک اطلاعاتی خطا میده نام بانک اطلاعاتی رو اطلا" نمیشناسه

به هر حال درست نشد که نشد راه حل دیگه ای به نظرتون میرسه بفرمایید . واقعا" دیگه رفته رو اعصابم:عصبانی++:

AliSaeedi_v
شنبه 16 اردیبهشت 1391, 13:15 عصر
سلام برا کپی کردن باید بانکت رو دی اتچ کنی یا سرویس اس کیو ال رو موقتا غیر فعال کنی..همین...

AliSaeedi_v
شنبه 16 اردیبهشت 1391, 13:30 عصر
سلام شما فقط باید توی اس کیو ال باید برین حق دسترسی بدین..

sima2000
شنبه 16 اردیبهشت 1391, 19:45 عصر
من فکر می کنم مشکل در اتصال به سرور در برنامه sql هست؟؟؟

Mahmoud.Afrad
شنبه 16 اردیبهشت 1391, 20:54 عصر
باید دیتابیس رو دیتچ کنید و بعد کپی بگیرید.
86707
کپی رو کنار فایل اجرایی برنامه قرار بدید و از کانکشن استرینگ زیر استفاده کنید:


Data Source=.\SQLEXPRESS;AttachDbFilename=|datadirector y|\DatabaseName.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True

sima2000
یک شنبه 17 اردیبهشت 1391, 09:17 صبح
ممنون دوست عزیز بابت آموزش تصویری که گذاشتین/ فقط یه سوال دیگه این سطر رو در کجای سورس برنامه ای که من قرار داده بودم بزارم؟ کجاهاش رو باید تغییر بدم؟