نمایش نتایج 1 تا 20 از 20

نام تاپیک: راهنمایی در ساخت بانک اطلاعاتی SqlServer

  1. #1
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    Question راهنمایی در ساخت بانک اطلاعاتی SqlServer

    با درود خدمت مهندسان عزیز
    تا قبل از این، من برای برنامه هام از بانک اطلاعاتی SqlCompact استفاده می کردم ولی میخوام برای یکی از برنامه هام از Sql Server استفاده کنم، وارد محیط Microsoft SQL Server Management Studio 17 شدم و دیتابیس خودم رو طراحی کردم ولی شیوه فراخونی اون را در برنامه ویژال استودیو نمی دونم
    توی نت هم گشتم، هرچی بیشتر می گشتم، کمتر می یافتم (احتمالا شیوه جستجوی من مناسب نبوده)

    امکانش هست بگید اشکال من کجاست؟
    و اینکه کوئری دیتابیس رو چطوری بنویسیم؟ (مبتدی وار باشد لطفا)



    مشخصات برنامه من:
    ویژال استودیو
    زبان سی شارپ
    ویندوز فرم
    بانک اطلاعاتی: Sql Server
    اینکه چرا از اس کیو ال سرور میخوام استفاده کنم (دلیل خاصی ندارد فقط نمیخوام برنامم بعدا بخاطر محدودیت های SqlCompact و یا محدودیت های SqlExpress به مشکل بر بخورد)

    لطفا تصاویر را ببینید، مربوط به برنامه هست
    این تصویر مربوط هست به برنامه اس کیو ال منیجمنت دیتابیس من با مشخصات زیر ساخته شده ولی نمیدونم چطوری آدرس کوئری رو به دست




    این تصویر مربوط به به بخش دیتابیس برنامه من در ویژال استودیو، شیوه نوشتن کوئری بانک اطلاعاتی که در اس کیو ال منیجمنت ساختم رو نمیدونم


  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    با سلام
    به جای اون عبارت میتونید از . استفاده کنید

    SqlConnection con = new SqlConnection(@"Data Source=.;AttachDbFilename=" + Application.StartupPath + "\\mydb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

    اگر بلد نیستید connection string رو استخراج کنید برای بدست آوردنش میتونید از ویزارد استفاده کنید که کانکشن رو برای شما مشخص می کند
    سایت https://www.connectionstrings.com/sql-server/ هم کمک کننده هست
    در ضمن Sql Server Management System یک IDE هست که شما از طریقش میتونید به دیتابیس دسترسی پیدا کنید ولی اصل sql همون سرویسش هست شما میتونید حتی sql server 2005 رو هم با این IDE بالا بیاورید
    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

  3. #3
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    با سلام
    به جای اون عبارت میتونید از . استفاده کنید

    SqlConnection con = new SqlConnection(@"Data Source=.;AttachDbFilename=" + Application.StartupPath + "\\mydb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
    سپاس مهندس، از این کد استفاده کردم ولی خطای زیر را داد

  4. #4
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    متغییر کانکشن استرینگ را تز کجا آوردی داخل کد ها نبود
    دو تا اس کیو ال کانکشن ساختی یکی con , myConnection
    باید یکی استفاده کنی نه دو تا کانکشن

  5. #5
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط booysusa مشاهده تاپیک
    سپاس مهندس، از این کد استفاده کردم ولی خطای زیر را داد
    متغییر کانکشن استرینگ را از کجا آوردی داخل کد ها نبود
    دو تا اس کیو ال کانکشن ساختی یکی con , myConnection
    باید یکی استفاده کنی نه دو تا کانکشن

  6. #6
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
    متغییر کانکشن استرینگ را از کجا آوردی داخل کد ها نبود
    دو تا اس کیو ال کانکشن ساختی یکی con , myConnection
    باید یکی استفاده کنی نه دو تا کانکشن
    بله اصلاح کردم








    ولی این خطا رو میده





    شاید بخاطر این هست که بانک اطلاعاتی را تغییر دادم و از اس کیو ال کامپکت به اس کیو ال سرور نقل مکان کردم ، خطا میده، بنظرم بخاطر اینه که من توی رفرنسم Sql Server را ندارم




    شاید بخاطر این هست که نام تیبل هام تغییر کرده
    قبلا در SqlCompact اینجوری بود



    الان که با Microsoft SQL Server Management Studio درست کردم اینجوری هست
    آخرین ویرایش به وسیله booysusa : پنج شنبه 18 بهمن 1397 در 18:24 عصر

  7. #7
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    دوستان کسی نیست راهنمایی کنه؟

  8. #8
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    چند تا عکس است از لینک زیر دانلود کنید
    طریقه وارد کردن دیتابیس به ویژوال استدیو 2017 از اس کیو ال منیجمنت

    http://s9.picofile.com/file/83517013...older.rar.html

    طریقه استفاده

           private void Form1_Load(object sender, EventArgs e)        {//نمایش داده ها
    SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=DbSample;Integrated Security=True");
    SqlCommand cmd = new SqlCommand("select * from TbCustomer ", cnn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;




    }

  9. #9
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    سپاسگزارم، راهنمای تصویری بسیار خوبی بود
    این کارهایی که فرمودید رو انجام دادم، آدرس درست در اومد و دیتابیس در برنامه Visual Studio وارد شد
    ولی پس از لود شدن برنامه، با اینکه کانکشن استرینگ رو ست کردم چیزی ظاهر نمیشه و امکان انجام عملیات Crud مانند Insert نیست!!

    تصاویر زیر مروبط به خطای قسمت افزودن مخاطب جدید هست (به نظرم نام جدول در قسمت Insert را درست وارد کردم ولی خطا می دهد)



    تصاویر زیر مروبط به ست کردن آدرس کانکش استرینگ هست



    تصاویر زیر مروبط به قسمت Insert یکی از بخش های Crud هست



    این هم تصویر دیتابیس و جدول های من است

  10. #10

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    دوست من این روشی که داری میری از sqlcommand و sqlconnection و ... خیلی دمده شده و قدیمیه چند نسل بعدش اومده هم راحتتره و هم سرعتش بیشتره
    این روشی که شما داری میری مال دات نت فریم ورک 1 هستش الان یه برنامه خوب اگه از امکانات دات نت 4و 4.5 استفاده نکنه لااقل از 3.5 باید استفاده کنه
    لذا روشت را اصلاح کن برای راهنمایی میگم حداقل از dataset استفاده کن یا اگه بهترش را میخوای از LINQ که راحت تر هم هست

  11. #11
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط ja_latifian مشاهده تاپیک
    دوست من این روشی که داری میری از sqlcommand و sqlconnection و ... خیلی دمده شده و قدیمیه چند نسل بعدش اومده هم راحتتره و هم سرعتش بیشتره
    این روشی که شما داری میری مال دات نت فریم ورک 1 هستش الان یه برنامه خوب اگه از امکانات دات نت 4و 4.5 استفاده نکنه لااقل از 3.5 باید استفاده کنه
    لذا روشت را اصلاح کن برای راهنمایی میگم حداقل از dataset استفاده کن یا اگه بهترش را میخوای از LINQ که راحت تر هم هست
    دمده بودن چه ربطی داره الان ؟ این بحث استفاده از تکنولوژی های قدیمی هیچوقت تمومی نداره. با این حرفتون باید سی و سی پلاس رو هم باید گذاشت کنار؟
    خود من با ado.net کد میزنم. کوئری دارم که خیلی خیلی خیلی خیلی سخت بتونید با لینک درستش کنید. خیلی وقتا هم که با انتیتی جلو میرید ممکنه مجبور شید از ado.net هم استفاده کنید برا یه سری کوئری ها. کلا هرکی با هر فریمورکی راحته با اون کار میکنه. یکی دنبال سرعت تو کد نویسیه .یکی دنبال دست باز بودنه و محدود نبودنه . یکی دنبال سرعت اجرای دستوراتشه.
    خلاصه هر کی برای یه کاری از یه روشی استفاده میکنه.

  12. #12
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط booysusa مشاهده تاپیک
    سپاسگزارم، راهنمای تصویری بسیار خوبی بود
    این کارهایی که فرمودید رو انجام دادم، آدرس درست در اومد و دیتابیس در برنامه Visual Studio وارد شد
    ولی پس از لود شدن برنامه، با اینکه کانکشن استرینگ رو ست کردم چیزی ظاهر نمیشه و امکان انجام عملیات Crud مانند Insert نیست!!

    تصاویر زیر مروبط به خطای قسمت افزودن مخاطب جدید هست (به نظرم نام جدول در قسمت Insert را درست وارد کردم ولی خطا می دهد)



    تصاویر زیر مروبط به ست کردن آدرس کانکش استرینگ هست



    تصاویر زیر مروبط به قسمت Insert یکی از بخش های Crud هست



    این هم تصویر دیتابیس و جدول های من است

        private void button1_Click(object sender, EventArgs e)        {//متناسب با کانکشن استرینگ و جدول وستون پروژه شما  باید تغییر کند
    // تست کردم جواب داد
    SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=DbSample;Integrated Security=True");
    SqlCommand cmd = new SqlCommand("INSERT INTO TbCustomer(Name) VALUES(@Name)", cnn);
    cmd.Parameters.AddWithValue("@Name", "AMIR");
    cnn.Open();
    cmd.ExecuteNonQuery();
    cnn.Close();
    View();
    }


    private void View()
    {
    SqlCommand cmd = new SqlCommand("select * from TbCustomer ", cnn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
    }

  13. #13
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
        private void button1_Click(object sender, EventArgs e)        {//متناسب با کانکشن استرینگ و جدول وستون پروژه شما  باید تغییر کند
    // تست کردم جواب داد
    SqlConnection cnn = new SqlConnection("Data Source=.;Initial Catalog=DbSample;Integrated Security=True");
    SqlCommand cmd = new SqlCommand("INSERT INTO TbCustomer(Name) VALUES(@Name)", cnn);
    cmd.Parameters.AddWithValue("@Name", "AMIR");
    cnn.Open();
    cmd.ExecuteNonQuery();
    cnn.Close();
    View();
    }


    private void View()
    {
    SqlCommand cmd = new SqlCommand("select * from TbCustomer ", cnn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dataGridView1.DataSource = dt;
    }

    سپاسگزارم بابت توضیحات


    من متوجه شدم تا وقتی بانک اطلاعاتی من به برنامه sql mangmanet وصل هست، من برای اجرای برنامه ام مشکلی ندارم، به محض deatach کردن بانک اطلاعاتی ام در برنامه sql mangmanet ، برنامه من دیگر در ویژال استودیو لود نمی شود و خطای زیر را می دهد
    بنظرتان دلیلش چی هست؟


  14. #14
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    خوب این ارور طبیعی است زمانی که میخواهید از دیتابیس استفاده کنید باید اتچ کنید و در پایان کا ر باید دیتچ کنید
    برنامه باید اینطور باشد

  15. #15
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
    خوب این ارور طبیعی است زمانی که میخواهید از دیتابیس استفاده کنید باید اتچ کنید و در پایان کا ر باید دیتچ کنید
    برنامه باید اینطور باشد
    سپاس
    حال اگر پروژه من به مراحل پایانی رسید باید چطور deatach کنم که دیگر این خطا را ندهد

  16. #16
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    سلام دوست عزیز
    مثال بزنم
    شما زمانی وارد منزل میشوید در میزنید و کسی از درون خانه در را روی شما باز میکند و شما وارد خانه میشوید اتچ کردن به این معنی است که شما وارد دیتابیس میشوید و عملیات اضافه و ویرایش را انجام میدهید

    حالا میخواهید از خانه خارج شوید بعد از خارج شدن درب را میبندید این به معنی دیتچ کردن است (یعنی شما کار با دیتابیس را تمام کرده اید)و از برنامه خارج میشوید

    واضح است که بعد از دیتچ کردن برنامه ارور میدهد چرا که دیتابیس بسته شده است

    برای اتچ ودیتچ کردن باید کانکشن استرینگ را ست کنید
    ببخشید الان حضور ذهن ندارم جستجو در انجمن و اینترنت یا تاپیک مستقل بزنید جواب بدست میآورید
    موفق باشید

  17. #17
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    اتچ کردن : وصل شدن به دیتابیس
    دیتچ کردن :قطع ارتباط با دیتابیس

    یک نمونه از اتچ (کلاس)

       public class AttachDB    {
    private const string Str = "server=(local);trusted_connection=yes;";
    private readonly string _command = @"CREATE DATABASE[ServiceList_DB] ON(FILENAME = N'D:\export\AppSourceCollection\AppSourceCollectio n\Database\ServiceList_DB.mdf'),(FILENAME = N'D:\export\AppSourceCollection\AppSourceCollectio n\Database\ServiceList_DB_log.ldf')FOR ATTACH";
    public AttachDB()
    {
    var cnn = new SqlConnection(Str);
    var cmd = new SqlCommand(_command, cnn) { CommandType = CommandType.Text };


    cnn.Open();
    try
    {
    cmd.ExecuteNonQuery();
    MessageBox.Show(@"Attach");
    }
    catch (SqlException exception)
    {
    MessageBox.Show(exception.Message);
    }
    cnn.Close();
    }
    }

  18. #18
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
    اتچ کردن : وصل شدن به دیتابیس
    دیتچ کردن :قطع ارتباط با دیتابیس

    سپاسگزارم بابت توضیحات
    بله معنی اتچ و دی اتچ میدونم، مثال شما جالب بود

    این دستور من هست (برنامه سه لایه هست)
    public bool ExecuteCommand(string command, List<SqlParameter> parameters)
    {
    SqlConnection myConnection = new SqlConnection();
    myConnection.ConnectionString = connectionString;
    SqlCommand myCommand = new SqlCommand();
    myCommand.Connection = myConnection;
    myCommand.CommandText = command;

    foreach (SqlParameter param in parameters)
    {
    myCommand.Parameters.Add(param);
    }
    try
    {
    myConnection.Open();
    int result = myCommand.ExecuteNonQuery();
    myConnection.Close();
    if (result > 0)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    catch
    {
    return false;
    }
    }


    مشکل من اینجاست با اینکه به کانکشن استریگ گفتم در هنگام مثلا Insert باز بشود و پس از انجام عملیات بسته شو، بازهم با خطای بالا که تصویر آن را ارسال کردم مواجه میشوم


    منظور من این هست تا کی باید اول من در برنامه اس کیو ال منیجمنت وارد شوم و کانکت بشوم و دیتابیس را اتچ کنم سپس بروم در برنامه ویژال استودیو برنامه را ران کنم که برنامه من به خطا بر نخورد
    نمیدونم تونستم منظورمو برسونم یا خیر

  19. #19
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    به ترتیب انجام دهید
    1 وارد برنامه شوید (زمانیکه میخواهید دیتابیس را ویرایش کنید )
    2 اتچ کنید به دیتابیس
    3 عملیات ویرایش را انجام دهید (اضافه یا حدف)
    4بعد از انجام و.یرایش دیتابیس را دیتچ کنید

    کانکشن استرینگ درون کد شما نوشته نشده است

  20. #20
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: راهنمایی در ساخت بانک اطلاعاتی SqlServer

    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
    به ترتیب انجام دهید
    1 وارد برنامه شوید (زمانیکه میخواهید دیتابیس را ویرایش کنید )
    2 اتچ کنید به دیتابیس
    3 عملیات ویرایش را انجام دهید (اضافه یا حدف)
    4بعد از انجام و.یرایش دیتابیس را دیتچ کنید
    من دیگر نیازی به ویرایش Table هایم ندارم، منظور از ویرایش و حذف این هست؟ یا اینکه ویرایش و حذف Crud ؟؟؟


    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
    کانکشن استرینگ درون کد شما نوشته نشده است
    آدرس کانکشن استرینگ من
    public const string connectionString = @"Data Source=.;Initial Catalog = PhonebookDB; Integrated Security = True";

    public bool ExecuteCommand(string command, List<SqlParameter> parameters)
    {
    SqlConnection myConnection = new SqlConnection();
    myConnection.ConnectionString = connectionString;
    SqlCommand myCommand = new SqlCommand();
    myCommand.Connection = myConnection;
    myCommand.CommandText = command;

    foreach (SqlParameter param in parameters)
    {
    myCommand.Parameters.Add(param);
    }
    try
    {
    myConnection.Open();
    int result = myCommand.ExecuteNonQuery();
    myConnection.Close();
    if (result > 0)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    catch
    {
    return false;
    }
    }

تاپیک های مشابه

  1. پاسخ: 14
    آخرین پست: یک شنبه 03 شهریور 1392, 23:06 عصر
  2. تبدیل بانک اطلاعاتی sqlserver به اوراکل
    نوشته شده توسط h.frend در بخش Oracle
    پاسخ: 0
    آخرین پست: دوشنبه 08 شهریور 1389, 18:47 عصر
  3. بانک اطلاعاتی sqlserver
    نوشته شده توسط Hossein Bazyan در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: شنبه 08 فروردین 1388, 21:29 عصر
  4. پاک کردن سطر های جدولی از بانک اطلاعاتی sqlserver
    نوشته شده توسط majid1234 در بخش SQL Server
    پاسخ: 3
    آخرین پست: چهارشنبه 13 خرداد 1383, 11:07 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •