ايران ويج

نسخه‌ی کامل: اتصال به بانک sql
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان عزیز
میشه بگید چطوری میشه با کد نویسی موقع اجرای برنامه به بانک متصل شد؟
من برای استفاده از بانک از کلاس استفاده میکنم چه تغییری توش ایجاد کنم که نیاز به اتچ دستی نباشه


البته کد که میزارید شرح همداشته بشه تا هم مشکلم حل بشه هم هم یاد بگیرم


ممنون میشم زود تر جواب بدین
(۱۳-فروردین-۱۳۹۰, ۱۴:۳۹:۳۴)Wolf_delta نوشته است: [ -> ]سلام دوستان عزیز
میشه بگید چطوری میشه با کد نویسی موقع اجرای برنامه به بانک متصل شد؟
من برای استفاده از بانک از کلاس استفاده میکنم چه تغییری توش ایجاد کنم که نیاز به اتچ دستی نباشه


البته کد که میزارید شرح همداشته بشه تا هم مشکلم حل بشه هم هم یاد بگیرم


ممنون میشم زود تر جواب بدین
سلام
بانک اطلاعاتی شما چی هست؟ اکسس ؟ اس کیو ال؟ مای اسکیو ال؟
برای کانکت شدن به تمام این بانکها به جز مای اسکیو ال شما نیاز به چیز اضافی ندارید و خیلی راحت از داخل خود C# میتونید این کار رو انجام بدین.
دوست عزیز من ازsql استفاده میکنم
میشه بگید چطور چطوری با کد اتچ کنم بانک را؟
اتچ؟ یا اتصال؟
اگه منظورتون از اتچ کردن اینه که فایل بانک اطلاعاتی رو به نرم افزارتون اضافه کنید :
شما نمیتونید بانک SQL رو بدون سرور اون اتچ کنید!! یعنی اگه میخواید باید خود SQL Server رو هم به برنامه اضافه کنید که این کار در ساختن برنامه Setup امکان پذیر هست... که در اون صورت باید میتونید Sql Server Express که یک نسخه رایگان و جمع و جور از SQL هست و تقریبا اکثر نیازها رو براورده میکنه رو با نرم افزارتون ارائه کنین

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

1- میتونید از شی SqlConnection در کد استفاده کنید که راهنمای کامل اون در MSDN موجود هست.
2- میتونیداز entity framework استفاده کنید که خیلی کار رو برای شما راحت میکنه و امنیت بسیار خوبی داره و همچنین در ورژن 4 دات نت LINQ هم ساپورت میشه که قدرت بی منتهایی رو به شما در کار با داده ها میده

امیدوارم که کمک کرده باشه
اینها رو بررسی کنید سوالی بود باز در خدمت هستم
دوست عزیز روش اتصال را توضیح دادم
به کمک کلاس که لینکش را گزاشتم متصل میشم
حالا همون کلاس را چه تغییری بدم تا خودش به باک متصل بشه

ممنون میشم اول کلاس را ببینید بعد راهنمایی کنید
سلام
OleDbConnection برای دسترسی به دیتاهایی مثل Access خوبه که یک فایل هستن و همراه برنامه گذاشته میشن
ولی شما بهتره از SqlConnection استفاده کنید که هم خیلی راحتتر هست و هم تمام دستوراتش شبیه به این هست و این کلاس هم میتونه وجود نداشته باشه و شما به طور مستقیم از DataSet ها استفاده کنید و در اونها کوئری هاتون رو به صورت ویژوال تعریف کنید و سپس به صورت یک متد با استفاده از Adapter فراخوانی کنید ( البته این نظر من هست ، ببینید شما کدوم روش رو میپسندید) و این کدی که در کلاس هست در حالت خاص جواب میده ولی خیلی غیر استاندارد هست، بهترین کاری که شما میتونید بکنید اینه که از SQL server express استفاده کنید و اون رو همراه برنامه خودتون منتشر کنید ، و برای اتصال به بانک داده میتونید از کد زیر استفاده کنید :
کد:
SqlConnection connection = new SqlConnection(connectionString);
            string queryString =  "SELECT * FROM tbl";
            SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
            DataSet dSet = new DataSet();
            adapter.Fill(dSet, "t");
و بعد با دیتاستتون هر کاری که خواستین انجام بدین و این هم یک نمونه برای oledb با فرض اینکه connection یک شیOleDbConnection معتبر هست.
کد:
OleDbDataAdapter ordAdapter = new OleDbDataAdapter(
            "SELECT * FROM tbl", connection);
            DataSet dSet = new DataSet();
            
            ordAdapter.Fill(dSet, "t");
            
            foreach (DataRow pRow in dSet.Tables["t"].Rows)
            {
              Console.WriteLine(pRow["your field"]);
            }
دوست عزیز باز هم متوجه منظور من نشدید
من میخوام بدون اینکه دستی بانک sqlاتچ کنم خود برنامه اتچ بشه و بعد ازش استفاده کنم
اگه باز هم منظورم را متوجه نشدید بگید تا بیشنر توضیح بدم

ممنون که راهنمایی میکنید!
سلام
فداتون بشم ، فک کنم من دوزاریم یکم کجه :)))
ولی اگه درست فهمیده باشم شما در کامپیوتر کاربرتون SQL server رو دارین فقط میخواین که به طور اتوماتیک دیتابیستون به اون سرور اتچ بشه ... اگه درسته پس شما باید

- ابتدا یک فولدر به نام DB در پروژتون بسازید و بعد از اینکه فایل رو از سرور خودتون detach کردید ، فایل رو در این فولدر کپی کنید
- سپس کانکشن استرینگ خودتون رو به این تغییر بدین :
کد:
<connectionStrings>
        <add name="WindowsFormsApplication1.Properties.Settings.BabakConnectionString"
            connectionString="Data Source=.;AttachDbFilename=|DataDirectory|\DB\Babak.mdf;Initial Catalog=test;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

- بعد از این هر بار برنامه رو اجرا کنید فایل به طور اتوماتیک اتچ میشه و میتونید از SQL manager ببینید، دی اینجا نام دیتابیس test هست.

امیدوارم ایندفه درست باشه ، اگه نبود دیگه واقعا باید مفصل توضیح بدین :)))))))))))

در ضمن میتونین کانکشن استرینگ رو در فایل app.config پیدا کنید ( اینی که میگم مال Vs2010 هست)
دوست عزیز واقعا از راهنمایی هاتون ممنون
من به جای
کد:
@"Provider=SQLNCLI.1;Data Source=" + Environment.MachineName + ";Integrated Security=SSPI;Initial Catalog=myBank";
کد
کد:
Data Source=.;AttachDbFilename=|DataDirectory|\DB\Babak.mdf;Initial Catalog=test;Integrated Security=True

را جایگزین کنم؟
بله فقط نام دیتابیس رو درست کنید به جای Babak.Mdf اسم دیتابیس خودتون باشه

- عذر میخوام که با تاخیر پاسخ دادم ، اینترنتم قطع بود
دوست عزیز ارور داد
کد:
No error message available, result code: DB_E_ERRORSOCCURRED(0x80040E21).

مشکل از کجاست؟