صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 48

نام تاپیک: attach کردن بانک به برنامه

  1. #1

    attach کردن بانک به برنامه

    سلام به همه دوستان خوبم
    من فایل exe برنامم رو ساختم و برای اینکه بانکها رو atach کنم اول sql server رو نصب می کنم و بعد بانکهام رو بهش atach می کنم ولی در این حالت کاربر اگر این راه رو برای attach کردن برود می تواند به بانک ها دسترسی داشته باشه و می تونه بانکها رو تغییر یا ویرایش کنه
    می خواستم بدونم آیا کدی وجود داره که در برنامه قرار بدم تا خود برنامه بانکها رو attach کنه و این کد رو در کجای برنامه باید قرار بدم ؟( در ماژول باید بنویسم یا در لود فرم برنامه؟)

    سوال دیگه ای هم که داشتم اینه که در کد برنامه حتما باید مسیر بانکها رو بهش بدم یا بدون مسیر هم می شود بانکها رو attach کرد؟(آخه هر دفعه که کاربر برنامه رو از روی cd کپی می کنه که مسیر بانکها عوض می شه )
    ممنون می شم از دوستان گلم که کمکم کنند تا بتونم با استفاده از کد نویسی بانکهای برنامم رو attach کنم

  2. #2
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

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

    EXEC sp_attach_db
    @dbname = N'DatabaseName',
    @filename1 = N'mdf-Filepath',
    @filename2 = N'ldf-FilePath' ;

    که میتوانید آن را یکبار، در زمان setup یا اولین اجرای برنامه در خود VB عملی کنید.
    و میتوانید فقط به نصب هسته اصلی اجرایی SQL بسنده کنید، تا دیگر کسی نتواند دستکاری خارج از برنامه انجام دهد.

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

  3. #3

    نقل قول: attach کردن بانک به برنامه

    يعني اگر من موقع نصب برنامه sql server مربوط به خود visual studio رو جزو برنامه هاي نصبي قرار بدم و اين كد رو در برنامم بنوبيسم بانكها به راحتي attach مي شن؟

    آخه مي خوام نرم افزاري باشه كه كاربر كار اضافي به جز نصب برنامه انجام نده

  4. #4
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: attach کردن بانک به برنامه

    به نظر من یک کپی از فایل mdf و فایل ldf بانک اسکیول رو به پوشه bin واقع در مسیر برنامتون در کامپیوتر خودتون بگیرید و کانکشن استرینگ برنامتون رو بر اساس کد زیر توی کل برنامون بکار ببرید
    Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|Data.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True
    و این دوفایل رو در پکیج برنامه نصب قرار دهید
    اگر از اسکیول اکسپرس استفاده کنید مناسبتر است
    میتونید از این مسیر هم استفاده کنید و بانک رو توی مسیر زیر کپی کنید: \bin\Debug
    Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\bin\Debug\Data.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True
    آخرین ویرایش به وسیله ali_md110 : شنبه 12 مرداد 1387 در 15:10 عصر

  5. #5
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    نقل قول نوشته شده توسط bahar2008 مشاهده تاپیک
    يعني اگر من موقع نصب برنامه sql server مربوط به خود visual studio رو جزو برنامه هاي نصبي قرار بدم و اين كد رو در برنامم بنوبيسم بانكها به راحتي attach مي شن؟

    آخه مي خوام نرم افزاري باشه كه كاربر كار اضافي به جز نصب برنامه انجام نده
    شما میتوانید هر نسخه ای را خواستید نصب کنید، و express هم مشکلی ندارد.

    برای اجرای دستوری که من گفتم و attach شدن دیتابیس هم کافیست بعد زا اتمام نصب و کپی فایلهای اصلی mdf و ldf یک نمونه SqlConnection بسازید (بدون نام دیتابیس) و بعد هم SqlCommand و در آخر دستور SQL فوق را هر کجا دوست داشتید اجرا کنید.


    البته روش کاربر ali_md110 هم با حصول شرایط بد نیست.
    این روش فقط روی نسخه express جواب میدهد و نسخه های دیگر SQLServer آن را ساپورت نمیکنند.
    اگر برنامه تان تک نمونه ای و غیر شبکه ای ( و زیر 2G دیتا دارد !!!!!؟) استفاده از ConnectionStriing ای که کاربر ali_md110 گفتند شاید کارتان را راه بیاندازد.

    این شیوه دیتابیس SQLServer را مثل یک دیتابیس Jet یا همان Access در دسترس قرار میدهد.
    در کل معیار اصلی اجرای این روش، عدم نیاز به کار کرد شبکه ای است.

    موفق باشید.

  6. #6

    نقل قول: attach کردن بانک به برنامه

    سلام
    اگه میخوان زمان نصب بانک رو به Sql اضافه کنی .میتونی از نرم افزار Setup سازی مثل InstallShield استفاده کنی. این نرم افزار این قدرت رو به تو میده که بانکتو تبدیل به اسکریپت کنی. بعد در هنگام نصب نرم افزار ازت میخواد تا فقط با بانک اطلاعاتی ارتباط برقرار کنی. تمام مراحل ساخت و افزودن بانک اطلاعاتی را به Sql خودش به صورت اتوماتیک انجام میده.

  7. #7

    نقل قول: attach کردن بانک به برنامه

    من کدی که گفتید که به هر 2 صورت در برنامم قرار دادم ولی هیچ کدومش جواب نداد
    آیا باید تغییرات دیگه ای هم بدم تا کار کنه یا اینکه محل گذاشتنش اشتباهه؟
    من کد attach رو در جایی قرار دادم که قرار هست در برنامه فقط 1 بار اجرا بشه و به صورت زیر نوشتمش

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
    If TextBox1.TextLength = 0 Or TextBox2.TextLength = 0 Or TextBox3.TextLength = 0 Or TextBox4.TextLength = 0 Or TextBox5.TextLength = 0 Then
    MessageBox.Show("لطفا اطلاعات را كامل وارد کنید ")
    ElseIf TextBox4.Text <> TextBox5.Text Then
    MessageBox.Show("تكرار رمز عبور اشتباه است ")
    Else
    Dim cn As New SqlClient.SqlConnection
    cn.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=I:\\project_d ata;Integrated Security=True;User Instance=True"
    Dim cmd As New SqlClient.SqlCommand
    cn.Open()
    cmd.Connection = cn
    cmd.CommandType = Data.CommandType.Text


    و یکی هم به این صورت نوشتم

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
    If TextBox1.TextLength = 0 Or TextBox2.TextLength = 0 Or TextBox3.TextLength = 0 Or TextBox4.TextLength = 0 Or TextBox5.TextLength = 0 Then
    MessageBox.Show("لطفا اطلاعات را كامل وارد کنید ")
    ElseIf TextBox4.Text <> TextBox5.Text Then
    MessageBox.Show("تكرار رمز عبور اشتباه است ")
    Else
    Dim cn As New SqlClient.SqlConnection
    cn.ConnectionString = "Data Source=(local);Initial Catalog=project;Integrated Security=True"
    Dim cmd As New SqlClient.SqlCommand
    cn.Open()
    cmd.Connection = cn
    cmd.CommandType = Data.CommandType.Text
    cmd.CommandText = "EXEC sp_attach_db @dbname,@filename1,@filename2"
    cmd.Parameters.Add("@dbname", SqlDbType.VarChar, 260).Value = "project"
    cmd.Parameters.Add("@filename1", SqlDbType.VarChar, 260).Value = "I:\\project_data.mdf"
    cmd.Parameters.Add("@filename2", SqlDbType.VarChar, 260).Value = "I:\\project_log.mdf"
    cmd.ExecuteNonQuery()
    cmd.CommandText = " INSERT INTO [user](id,name,vahed,pass1,pass2)VALUES(@TextBox1,@TextB ox2,@TextBox3,@TextBox4,@TextBox5)"
    cmd.Parameters.AddWithValue("textbox1", Me.TextBox1.Text)
    cmd.Parameters.AddWithValue("textbox2", Me.TextBox2.Text)
    cmd.Parameters.AddWithValue("textbox3", Me.TextBox3.Text)
    cmd.Parameters.AddWithValue("textbox4", Me.TextBox4.Text)
    cmd.Parameters.AddWithValue("textbox5", Me.TextBox5.Text)
    cmd.ExecuteNonQuery()
    MessageBox.Show("اطلاعات با موفقیت به ثبت رسید ")
    cn.Close()

    ولی هیچ کدوم از این حالت ها درست اجرا نشد و موقع اجرای برنامه خطا می داد که نمی تونم به بانک project وصل بشم

  8. #8

    نقل قول: attach کردن بانک به برنامه

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

  9. #9

    نقل قول: attach کردن بانک به برنامه

    فکر می کنم نرم افزار install shiel این همه دردسر نداشته باشه چون تعریفش رو توی همین انجمن زیاد شنیدم
    کسی لینک دانلودش رو داره؟؟؟

  10. #10
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: attach کردن بانک به برنامه

    یه مثال پروژه نصب حتما بدرتت میخوره
    باید ابتدا بانک برنامت رو بصورت اسکریپت اسکیول تبدیل کنی و بزاری تو برنامت وقتی شروع به نصب بکنی بانک و جداول رو برات نصب میکنه
    فایل های ضمیمه فایل های ضمیمه

  11. #11

    نقل قول: attach کردن بانک به برنامه

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

  12. #12
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    از دوستان بابت عدم سر زدن به سایت و پاسخ به موقع عضر خواهی میکنم.
    متاسفانه معمولاً باید به علت تاخیر در سر زدن و جواب شرمنده دوستان بشوم!

    ولی خوشبختانه دستم پر است.
    من یک نمونه برای سایت دیگری حاضر کرده بودم، دوستان میتوانند دانلود کنند و ببینند.
    نمونه بانک را attach و detach میکنید و میتواند یک Login بسازد و یا Login را حذف کند.

    در پروژه نمونه یک dll هم وجود دارد، که اصلاً مهم نیست و فقط از یک کنترلرش برای اماکن ویرایش ConnectionString در runtime توسط کاربر استفاده شده و مطلقاً ربطی به ذات کد ندارد.

    البته برای کار کردن قسمت Login باید اعتبار سنجی sqlserver را روی sqlserver and windows ست کنید.

    ولی بخش attach در هر شرایط باید کار کند.

    نقل قول نوشته شده توسط _H2_
    متن دستورات SQL را به صورت مجتمع در زیر میتوانید ببینید:
    Project->ProjectName Properties->Resources
    (ارتفاع سطرها را با ماوس بزرگ کنید، تا دستورات واضح تر دیده شوند.)

    دیتابیس نمونه را در ریشه درایو D کپی کنید و اول دکمه Attach و بعد هم CreateLogin و در آخر TestConnectionWithLogin را کلیک کنید.

    www.h02.ir/Download.aspx?File=Temp\SqlDatabaseInstall.zip
    سعی میکنم حتماً در دو سه روز آینده، مدام سر بزنم تا سوالات احتمالی را جواب دهم.
    مجدداً عضر خواهی میکنم و موفق باشید.

  13. #13

    نقل قول: attach کردن بانک به برنامه

    h2 عزيز ممنون از نمونه پروژه اي كه گذاشتي ولي نيم دونم چرا هر چي مسير ديتا بيس ها رو ردست بهش مي دم و نام ديتا سرور رو هم درست ميدم و دكمه attach رو مي زنم پيغام خطا مي ده كه ديتا بيس ها رو پيدا نكرده
    چند بار در جاهاي مختلف ديتابيس ها رو كپي كردم و آدرس درست رو بهش دادم ولي باز هم پيغام خطا مي ده كه فايل mdf رو پيدا نكرده

  14. #14

    نقل قول: attach کردن بانک به برنامه

    مشكل ديگه هم كه داره اين هست كه فايل sln برنامه وجود نداره و وقتي هم مي خوام با open project برنامه رو باز كنم پيغام خطا مي ده و باز نمي كنه و مجبورم كدها رو با استفاده از note pad ببينم

  15. #15

    نقل قول: attach کردن بانک به برنامه

    ali_md110 عزيز من برنامه شما رو هم اجرا كردم ولي موقعي كه مي خوام اجراش كنم پيغام خطا مي ده ....البته يك فايل install هم وجود داشت در پروژه شما كه توي visual studio باز مي شد و موقعي كه اجرا مي زدم پيغام خطا مي داد

  16. #16
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: attach کردن بانک به برنامه

    شما برنامه رو باز کنید و پروژه نصب موجود در اون رو حذف کنید و سپس یک پروژه جدید نصب از طریق FILEو سپس ADD و NEW PROJECT , و OTHER project و setup And deployment اضافه کنید به پروژه
    در قسمت Application Folder پروژه نصب کلیک راست کرده ADD رو بزنید PROJECT OUTPUT رو انتخاب و گزینه PRIMARY OUT PUT رو انتخاب و به پروژه اضافه کنید حالا از طریق منوی BUILD گزینه BUILD SOLUTION یا گزینه BUIELD SETUP1 رو یزنید SETUP1 نام پروژه نصب هستش پس از کامپایل با کلیک راست بر رو ی پروژه نصب و انتخاب INSTALL یک بانک با جداول به نام ASPState ساخته میشه
    اگر دقت کنید دو فایل TXT به نام inatall.txt و uistall.txt در پروژه وجود داره اینها همون اسکریپتها هستند
    شما پس از ساخت اسکریپت بانکتون در mangmet یا sql query Aalizer اونها
    رو بنام همین دو فایل install , unistall یکی برای نصب یکی برای جذف میسازید و جایگزین میکنید اگر بر روی فایل ScriptInstall.vb در پروژه کلیک راست و کد ها رو ببینید خودتون متوجه میشید
    من استفاده کردم خیلی خوب جواب داده
    اگر باز هم مشکلی هست پیا م بده
    در ضمن شما اگر پروژه رو run کنید این خطا رو میده
    A project with an Output Type of Class Library cannot be started directly.
    In order to debug this project, add an executable project to this solution which references the library project. Set the executable project as the
    A project with an Output Type of Class Library cannot be started directly.
    In order to debug this project, add an executable project to this solution which references the library project. Set the executable project as the



    این یک کلاس نصب هستش که واسط اجرایی مثل یک فرم نداره یعنی باید ابتدا یک پروژه نصب به اون اضافه کنید و کامپایل کنید و اون فایل ست اپ رو اجرا کنید فایل ست اپ رو هم توی پوشه setup1 یا هر اسم دیگه ای براش گزاشتی در پوشه Debug یا Relase قرار میگیره
    میتونی همونطور که گفتم جهت تست بر روی پروژه نصب در سولوشن کلیک راست کنی و install رو بزنی
    علت خطا در اجرا اینه
    آخرین ویرایش به وسیله ali_md110 : دوشنبه 28 مرداد 1387 در 13:56 عصر

  17. #17
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    h2 عزيز ممنون از نمونه پروژه اي كه گذاشتي ولي نيم دونم چرا هر چي مسير ديتا بيس ها رو ردست بهش مي دم و نام ديتا سرور رو هم درست ميدم و دكمه attach رو مي زنم پيغام خطا مي ده كه ديتا بيس ها رو پيدا نكرده
    1- مطمئن شوید مسیر انتخابی مشکل مجوز دسترسی ویدوز را ندارد.
    مثل Desktop و MyDocument و... که زیاد جالب نیستند.
    پیشنهاد میکنم در root یک درایو مثل D تست کنید، ببینید جواب میدهد؟

    2- از نسخه sqlserver2005 استفاده میکنید؟

    3- مطمئن شوید هیچ Connection ای از هیچ جا از این فایلهای دیتابیس استفاده نمیکنند. همه برنامه ها را ببندید و تستی کنید.

    4- از دیتابیس نمونه داخل خود برنامه استفاده کرده اید؟

    .. فايل sln برنامه وجود نداره ..
    نیست چون فایل vbproj وجود دارد. با vbproj کد را در vs باز کنید.

  18. #18

    نقل قول: attach کردن بانک به برنامه

    سلام
    این برنامه برای sql2005 ؟؟؟

  19. #19
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    این برنامه برای sql2005 ؟؟؟
    اگر منظورتان برنامه ای بوده که من گذاشتم، باید بگویم من دستورات SQL را بر اساس مستندات نسخه 2005 تهیه کرده ام و احتمال دارد در 2000 جواب ندهد.

  20. #20

    نقل قول: attach کردن بانک به برنامه

    من تمام conection string ها رو در كل برنامم (حتي در app.config ) به اين صورت تغيير دادم و sql exprees رو همراه برنامه exe خودم گذاشتم ولي وقتي فايل exe رو در كامپيوتر ديگري اجرا مي كنم باز هم پيغام خطا مي ده كه بانك رو نمي شناسه
    اين كد مربوط به app هست


    <add name="project.My.MySettings.projectConnectionStrin g" connectionString="Data Source=.\SQLExpress;AttachDbFilename=|DataDirector y|project_Data.MDF;Integrated Security=True;User Instance=True"
    providerName="System.Data.SqlClient" />



    اين كد مربوط به داخل خود برنامه هست كه در همه جاي برنامه به صورت زير به كار رفته

    cn.ConnectionString = "Data Source=.\SQLExpress;AttachDbFilename=|DataDirector y|project_Data.MDF;Integrated Security=True;User Instance=True"





    آيا كار ديگه اي هم لازمه كه انجام بدم؟

  21. #21
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    شما دارید از مکانیزم غیر attach نسخه express استفاده میکنید.
    این باید همیشه و بدون attach جواب دهد.
    - حتماً باید در مقصد نسخه SQLServer Express را نصب کنید.
    - باید نسخه sqlserver در ram در حال اجرا باشد و به بیان دیگر با رایانه بالابیاید.

    Start->ProgramFile->Microsoft SQL Server 2005->Configuration Tools->SQL Server Configuration Manager->SQL Server 2005 Services-> SQL Server (SQLEXPRESS)->RightClick->Property
    {
    ->Log On tab->Start
    ->Service tab->Start Mode->Automatic
    }


    - دیتابیستان در محل فایلها باشد.

    اگر مشکلتان حل شد و نتوانستید یک نمونه بگذارید تا از نزدیک تستش کنم.

  22. #22

    نقل قول: attach کردن بانک به برنامه

    ممنونم از راهنماييتون دوست عزيز
    تمام نكاتي كه گفتيد رو چك كردم و درست مثل اوني بود كه شما گفتيد ولي بازم موقعي كه برنامه رو نصب مي كنم نمي تونه بانكها رو بشناسه و پيغام خطاي زير رو مي ده

    آخرین ویرایش به وسیله bahar2008 : چهارشنبه 13 شهریور 1387 در 09:51 صبح

  23. #23

    نقل قول: attach کردن بانک به برنامه

    در یک برنامه دات نت ، اولین بار که به بانک اطلاعاتی (Sql Server 2005) وصل می شویم ، حدود 10 تا 15 ثانیه برای اینکار زمان صرف می شود ، اما از بار دوم به بعد در مینیمم ثانیه این اتفاق می افتد ! در برنامه هایی شاهد بوده ام که با پیام "در حال اتصال به بانک اطلاعاتی" و سپس نمایش یک میله پیشرفت این مشکل را حل می کنند که بنظر من راه حل مطلوبی نیست. ولی در بعضی برنامه هم این مشکل حل شده است و از همان بار اول تاخيري وجود ندارد !!! اگر از این مسئله هم اطلاع دارید ممنون می شوم.
    اين هم كد مورد استفاده من :
    Public Connection As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBase.mdf;Integrated Security=True;User Instance=True")
    Connection.Open()
    cmdBackup.ExecuteNonQuery()
    Connection.Close()

  24. #24
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    تمام نكاتي كه گفتيد رو چك كردم و درست مثل اوني بود كه شما گفتيد ولي بازم موقعي كه برنامه رو نصب مي كنم نمي تونه بانكها رو بشناسه و پيغام خطاي زير رو مي ده
    - ویندوزتان چیست؟

    - آیا نرم افزار SQL Server Management Studio را دارید و یک تستی کنید ببینید چه دیتابیس هایی Attach شده اند.
    http://www.microsoft.com/downloads/d...displaylang=en

    البته جور دیگری هم میشود فهمید، هم با کد و هم با یک Connection جدید که در کامبو دیتابیس، دیتابیس های attach شده نشان داده خواهند شد.
    چون خطای شما یک حدسی را هم روی تداخل نام با دیتابیس های موجود مطرح کرده.

    - در آخر اگر میتوایند روی MyDocument تست نکنید.
    برنامه را حداقل برای امتحان هم که شده در یک درایو مستقل و آزاد تست کنید، مثلاً ریشه یک درایو غیر C
    بعد اگر انشا ا... کار کردف مذاکره میکنیم!!!!

    من هم باز یک برسی میکنم و جواب میدهم.


    در یک برنامه دات نت ، اولین بار که به بانک اطلاعاتی (Sql Server 2005) وصل می شویم ، حدود 10 تا 15 ثانیه برای اینکار زمان صرف می شود ، اما از بار دوم به بعد در مینیمم ثانیه این اتفاق می افتد ! در برنامه هایی شاهد بوده ام که با پیام "در حال اتصال به بانک اطلاعاتی" و سپس نمایش یک میله پیشرفت این مشکل را حل می کنند که بنظر من راه حل مطلوبی نیست. ولی در بعضی برنامه هم این مشکل حل شده است و از همان بار اول تاخيري وجود ندارد
    بدیهی است، بدون شک.
    مکانیزم ADO.Net یک مخزن برای کش Connection ها دارد.
    یعنی وقتی شما به ظار یک Connection را باز و بسته میکنید، در واقعاینطور نیست و در بانکی مثل SQLServer اوضاع فرق میکند.
    ADO.Net Connection را که میبندید، نمی بندد.!
    و در اصل دستور Close شما موجب ازاد شدن Connection و برگشتن ان به مخزن Connection های ADO.Net برای استفاده در دیگر ریسمان ها و نقاط میشود و در SQLServer همچنان Connection به برنامه شما باز می ماند.

    و وقتی شما در خواست یک New Connection میدهدف اول مخزن داخلی ADO.Net چک میشود و اگر Connection آماده و بی کاری باشد، برای این کار به شما داده میشود که این کار طبیعتاً خیلی سریع انجام میشود.
    ولی اگر Connection در مخزن نباشد (چه در شروع برنامه و چه اینکه در جاهای دیگر این Connection ها هنوز در حال استفاده باشند و Close نشده باشد.) ADO.Net یک ارتباط جدید را شروع میکند که هم از طرف ADO.Net و هم از طرف SQLServer برای ارتباط و پیدا کردن بانک و امنیت و... مسئله زمان بر میشود.

    راه حل هم ساده است.
    برنامه شما وقتی بالا می آید و احتمالاً یک صفحه SplashScreen را نمایش میدهد.
    شما میتوانید یک Connection جدید بسازید و ببندید!
    این کار دو مزیت دارد.
    این کار دو مزیت دارد.
    -----
    1) عملاً در شروع برنامه رشته مهم ConnectionString تست میشود و اگر نتوانید به بانک وصل شوید و خطایی پیش اید میتوانید هشدار لازم را در همان شروع کار به کاربر بدهید و از ادامه کار برنامه و خطاهای بعدی که پیش می ایند جلوگیری کنید و محترمانه و پیغام مناسب برنامه را ببندید.

    2) یک Connection آماده استفاده و آزاد به مخزن ADO.Net اضافه میکنید، تا در اجرای برنامه در خواست New Connection تان سریعتر اجرا شود.

  25. #25

    نقل قول: attach کردن بانک به برنامه

    ممنونم از راهنماییتون دوست عزیز
    واقعا یک دنیا ممنونم که این بحث رو دنبال می کنید و جواب سوالات من رو می دهید
    ویندوزم xp هست
    البته من هیمشه در دسکتاپ امتحان می کردم و این راهی که شما گفتید رو هم امتحان می کنم حتما

    مشکل دیگه ای که جدیدا بهش برخوردم این هست که من همون پروژه رو در کامپیوتر خودم کپی کردم و اجرا کردم و موقع اجرا پیغام error زیر رو داد
    Error 1 Unable to find manifest signing certificate in the certificate store. project

    و البته با همین پیغام هم اجرا شد و درست کار می کرد ولی موقعی که می خواستم exe پروژه رو بسازم باز هم همین پیغام با چند پیغام خطای دیگه رو صادر کرد و exe رو نساخت

    دلیل این پیغام خطا چی هست؟ آیا تا بحال شما به این پیغام برخوردید؟

  26. #26
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    البته با همین پیغام هم اجرا شد و درست کار می کرد ولی موقعی که می خواستم exe پروژه رو بسازم باز هم همین پیغام با چند پیغام خطای دیگه رو صادر کرد و exe رو نساخت

    دلیل این پیغام خطا چی هست
    کلاً پروژه ای که کامپایل نمیشود، حتماً ایراد تابلویی دارد!!!
    مثل ایرادهای اشتباه هات نوشتاری در سینتکس یا فقدان یک dll که Reference شده.
    یا ...

    شما میتوانید شرح بیشتر ایراد و محل ایراد را با دبل کیک در پنجره View->Error List ببینید.

    با توجه به متن خطایتان به نظر میرسد در یکی از strong name ها دچار مشکل هستید.
    اگر از فایلها مربوطه استفاده میکنید، انها را چک کنید که هم وجود داشته باشند و هم منقضی نشده باشند و هم ...

  27. #27

    نقل قول: attach کردن بانک به برنامه

    ممنونم از راهنماييتون دوست عزيز
    مشكل اينجاست كه هر چي هم 2 بار كليك مي كنم روي خطاي گرفته شده به جايي هدايت نمي كنه و خطي كه مشكل داره رو نشون نمي ده
    من تمام فايلهارو كامل كژي مي كنم ولي باز هم مشكل داره
    من يك پروژه كوچيك به همون روشي كه از sqlexpress2005 استفاده شده در تمام برنامه به عنوان نمونه در كامپيوتري كه فقط sql express2005 نصب بود روش نوشتم و ديدم كه در خط cn.open خطا مي ده و مي گه كه نمي تونه sql2005 رو باز كنه
    با اينكه visual studio 2005 نصب كردم ولي نمي دونم چرا با sql 2005 مشكل داره

  28. #28
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    من اول یک چیز را خودم متوجه بشم!
    یعنی ما الآن با دو خطای متفاوت طرف هستم، درسته؟
    1-یکی اینکه یک Exe شما در رایانه دیگر نمیتواند به دیتابیس وصل شود.
    2-یک پروزه دیگر هم کامپایل نمیشود و اصلاً exe نمی سازد

    اگر اینطور است
    -----
    در مورد مشکل اول و اگر همچنان همان متن خطای پست 22 را که تصویر هم داشت، دریافت میکنید.
    شما لغت |DataDirectory| را از رشته اتصال حذف کنید و به جایش یک مسیر ثابت را قرار دهید، مثلاً D:\files.mdb (فعلاً) پروزه را کامپایل کرده و با exe جدید در رایانه مقصد تست کنید(فراموش نکنید که دیتابیس را به همان محل ثابت کپی کنید.)
    اگر دیگر خطا نداد، راه حل نهایی را خدمتتان عرض میکنم.
    -----
    در مورد خطای دوم
    این یک خطای مجوز است،
    فایل snk یا pfx یا cer در پروژه دارید؟
    سری هم به Project->Propertoes->Singing بزنید.
    آیا از فایل dll خاصی استفاده کرده اید؟

  29. #29

    نقل قول: attach کردن بانک به برنامه

    ممنونم از راهنمايي مفيدتون دوست عزيز
    ولي بازم پيغام خطا مي ده ولي اين دفعه از دستور AttachDbFilename خطا مي گيره
    با اينكه يك نمونه پروژه ساده رو نوشتم كه امتحانش كنم ولي يك جاييش رو درست مي كنم يك جاي ديگش پيغام خطا مي ده و هنوز نتونستم فايلهام رو attach كنم به برنامه

    پيغام خطايش هم اينه


    در مورد مشكل دوم هم فايل هايي كه گفتيد رو ندارم

  30. #30
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    Exclamation نقل قول: attach کردن بانک به برنامه

    سلام
    ولي بازم پيغام خطا مي ده ولي اين دفعه از دستور AttachDbFilename خطا مي گيره
    یعنی مقداری که برایش وارد کردید، صحیح نیست، احتمالاً اشتباه تایپی دارید. دقت بیشتری کنید.

    شما بیاید اصلاً بدون برنامه هم یک تست کنید
    فایل زیر را دانلود کنید بعد در رایانه مقصد راست کلیک کنید و Property را انتخاب کنید.
    به برگه Connection بروید و به جای project_Data نام فایل دیتابیس خود را قرار دهید و دکمه TestConnection را بزنید.

    سعی کنید با تغییر تنظیمات بالاخره موفق به برقراری ارتباط شوید.
    (من خودم همین الآن تست کردم و جواب هم گرفتم)
    فایل های ضمیمه فایل های ضمیمه

  31. #31

    نقل قول: attach کردن بانک به برنامه

    ممنونم از لطفتون دوست عزيز
    با چند بار پيغام خطا بالاخره الان جواب داد و successfull اعلام كرد
    خيلي برنامه راحت و عالي هست اگر من اين رو در كنار پروژه exe خودم بزارم آيا مشكل بريا هميشه حل مي شه؟

  32. #32
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    ...الان جواب داد و successfull اعلام كرد ..
    خوبهف حله!
    پس ایراد شما از ConnectionString تان بوده.

    .. در كنار پروژه exe خودم بزارم آيا مشكل بريا هميشه حل مي شه؟..
    نه ولی راه حل این است:

    - همین فایل را که بالاخره وصل شد را با Notapad باز کنید.
    - از خط آخر بخش ";Provider=SQLOLEDB.1" را حذف کنید،
    - حال خط آخر را به جای ConnectionString در برنامه تان استفاده کنید.

    - شاید هم بهتر باشه به جای |DataDirectory| خودتان مسیر جاری را با System.Windows.Forms.Application.StartupPath در اورید و ConnectionString را اصلاح کنید.
    ______________

    البته پیشنهاد من برای برنامه های کامل تر این است که شما در پنجره Options برنامه تان، امکان ویرایش ConnectionString را به کاربرتان بدهید.
    مثل این نمونه:
    http://www.h02.ir/Download.aspx?File...tionString.zip

    البته چون من این نمونه را برای کسی درست کردم که دیتابیس اش attach میشد و کار میکرد، بخش انتهایی گرفتن مسیر فایل برای نسخه Express را مخفی کردم تا کوچک تر و ساده تر باشد.
    شما کافیست پروژه را در VS2008 باز کنید و ارتفاع فرم frmOptions2 را زیاد کنید و خصوصیت ShowAttachDatabase کنترلر SCS را True کنید.

    با این نمونه کد میتوانید برگه Connection فوق را که مشکلتان را حل کرد، به صورت runtime به داخل برنامه تان اضافه کنید، تا در صورت بروز هر مشکل، بتوانید در محل نصب برنامه از طریق منوی Options (تنظیمات) خود برنامه مشکل را حل کنید و رشته مطلوب ConnectionString را ست کنید.

    اینطوری حتی اگر دیتابیس attach هم شود، شما نباید کد خود را تغییر دهید، فقط کافیست تنظیم برنامه خودتان را عوض کنید.

    (البته شاید خیلی ها ترجیح بدهند برای پروژه های کوچک اصلاً این پنجره و Option را نداشته باشند ولی من خودم همیشه ترجیح میدم باشه)

  33. #33

    نقل قول: attach کردن بانک به برنامه

    ممنونم از راهنمايي مفيدتون دوست عزيز ولي مثل اينكه اين مشكل من حل شدني نيست
    با اينكه تمام كارهايي كه شما گفتيد رو انجام دادم ولي باز پيغام خطاي زير رو مي ده


    احتمالا اين پيغام بريا اين نيست كه من با sql2000 كار مي كنم و توي اين كامپيوتر مي خوام با sql expres كار كنم؟

  34. #34

    نقل قول: attach کردن بانک به برنامه

    اين كد برنامم هست كه گفته بودم يك نمونه كوچيك رو امتحان مي كنم

    Public Class Form1
    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
    If TextBox1.TextLength = 0 Or TextBox2.TextLength = 0 Or TextBox3.TextLength = 0 Or TextBox4.TextLength = 0 Or TextBox5.TextLength = 0 Then
    MessageBox.Show("لطفا اطلاعات را كامل وارد کنید ")
    ElseIf TextBox4.Text <> TextBox5.Text Then
    MessageBox.Show("تكرار رمز عبور اشتباه است ")
    Else
    Dim cn As New SqlClient.SqlConnection
    cn.ConnectionString = "Data Source=Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Persist Security Info=False;Initial File Name=D:\project_Data.mdf"
    Dim cmd As New SqlClient.SqlCommand
    cn.Open()
    cmd.Connection = cn
    cmd.CommandType = Data.CommandType.Text
    cmd.CommandText = " INSERT INTO [user](id,name,vahed,pass1,pass2)VALUES(@TextBox1,@TextB ox2,@TextBox3,@TextBox4,@TextBox5)"
    cmd.Parameters.AddWithValue("textbox1", Me.TextBox1.Text)
    cmd.Parameters.AddWithValue("textbox2", Me.TextBox2.Text)
    cmd.Parameters.AddWithValue("textbox3", Me.TextBox3.Text)
    cmd.Parameters.AddWithValue("textbox4", Me.TextBox4.Text)
    cmd.Parameters.AddWithValue("textbox5", Me.TextBox5.Text)
    cmd.ExecuteNonQuery()
    MessageBox.Show("اطلاعات با موفقیت به ثبت رسید ")
    cn.Close()
    Me.Hide()
    End If
    End Sub
    End Class




  35. #35
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    با اينكه تمام كارهايي كه شما گفتيد رو انجام دادم ولي باز پيغام خطاي زير رو مي ده
    یعنی از همان رشته اتصالی که در نمونه پست 30 به دست آورده بودید استفاده کردید؟؟؟
    با چند بار پيغام خطا بالاخره الان جواب داد و successfull اعلام كرد
    این دیگه خیلی عجیب است، چون من تا حالا ندیدم با اون فایل بتوان وصل شد ولی در کد نویسی نتوان!!! یعنی در هیچ شرایطی ندیدم. وقاعاً خیلی خیلی تعجب بر انگیزه ... یعنی یکجورهایی امکان نداره!

    وقتی پیغام successfull را دریافت کردید، آیا فایل را با Apply-OK ذخیره کردید یا نه؟؟؟؟
    چون همینطوری ذخیره نمیشود؟ و شاید شما اصلاً Apply-OK را نزده اید و چیزی که در Notepad دیدید همان نباشد که با آن وصل شدید؟
    لطفاً با صبر و دقت بیشتری یک بار دیگر عمل کنید ، چون یک جورهایی امکان ندارد آن وصل شود و کد شما وصل نشود.



    من حتی آنقدر به این فایلها اطمینان دارم که چندین سال پیش که یک برنامه برای فروشگاهی با چند صندوق کامپیوتری نوشتم، از همین فایلها برای دینامیک کردن ConnectionString استفاده کردم و برنامه موقع بالا آمدن به صورت ini و Text فایل را میخواند و بخش اضافه را حذف میکرد و به راحتی به سرور کانکت میشد.
    و هر موقع هم که میخواستم میتوانستم ConnectionString را اصلاح کنم.

    آیا فایل را با Notepad باز کرید، داخلش فقط این بود؟

    Data Source=Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Persist Security Info=False;Initial File Name=D:\project_Data.mdf


    ضمناً برای تست اتصال کد زیر کافی است.

    Using cn As New SqlClient.SqlConnection("Data Source=Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Persist Security Info=False;Initial File Name=""D:\project_Data.mdf""")
    cn.Open
    End Using


    =====

    من یک کار دیگر هم کردم همان پست 30 را یادتون است که بالاخره وصل شدید؟
    من یک نمونه دات نتی شبیه همان با تغییرات روی سورسی که در همین تاپیک گذاشتم، تهیه کردم.
    این exe رشته اتصال را از فایل SqlServerConnectionString.txt میخواند و در همان هم Save میکند.
    یک بار دیگر همان کاری را که با پست 30 کردید با این هم انجام دهید، دکمه Advanced میتواند تمام معیارهای رشته اتصال را برای تغییر به شما عرضه کند.
    حتماً اگر TextConnection را زدید و وصل شد، برای ذخیره تغییرات OK را فراموش نکنید.

    (متوجه شدم یک ایراد کوچک در زمان خواندن از SqlServerConnectionString.txt و در فعال کردن دکمه رادیویی attach a database file داره که فعلاً مهم نیست و درستش میکنم)
    http://www.h02.ir/Download.aspx?file...String.exe.zip

  36. #36

    نقل قول: attach کردن بانک به برنامه

    بله فكر مي كنم Apply-OK رو زدم
    ممنونم از نمونه برنامه اي گذاشتيد دوست عزيز
    برنامه رو كه اجرا كردم پيغام خطاي زير رو داد


    يك سوال ديگه اي كه داشتم اين هست كه از كجا مي تونم بفهمم كه فايلهام attach شده در sql express2005 يا نه؟
    سوال ديگه ام اين هست كه اگر attach شده باشه و من دستور attach رو دوباره بزنم آيا پيغام خطا مي ده يا روي همون قبلي attach مي كنه؟

  37. #37
    کاربر دائمی آواتار __H2__
    تاریخ عضویت
    اسفند 1385
    محل زندگی
    یک جایی بین Framework و نارمک!
    پست
    1,059

    نقل قول: attach کردن بانک به برنامه

    سلام
    برنامه رو كه اجرا كردم پيغام خطاي زير رو داد
    درسته خطا میده ولی مثل همان نمونه پست 30 تنظیمات این یکی را هم سعی کنید در بخش Advanced دستکاری کنید، تغییر دهید تا بالاخره درست وصل شود.

    يك سوال ديگه اي كه داشتم اين هست كه از كجا مي تونم بفهمم كه فايلهام attach شده در sql express2005 يا نه؟
    در همین برنامه آخری یا آن نمونه پست 30 در بخش Select the database on the server یک combobox دارد که نام تمام دیتابیس های attach شده تحت servername را برمیگرداند.
    اگر بتوانید برنامه کامل SQL Server Management Studio را هم تهیه و نصب کنید میتوانید بسیار کمک کند.
    http://www.microsoft.com/downloads/d...displaylang=en


    سوال ديگه ام اين هست كه اگر attach شده باشه و من دستور attach رو دوباره بزنم آيا پيغام خطا مي ده يا روي همون قبلي attach مي كنه؟
    شما اگر دو دیتابیس مختلف در دو مسیر مختلف با یک نام یکسان را بخواهید attach کنید به خطا میخورید چه رسد به مسیر ثابت و نام ثابت.

    یک راه حل کاربردی که به ذهنم میرسد که میتواند این مشکل را خاتمه دهد، ولی چندان ساده و در عرف نیست.
    اگر ip اینترنتی مجاز و مشخصی داشته باشید، شاید بتوان با RemoteDesktop مشکل را حل کرد.
    چون این مشکل شما متعارفاً باید خیلی وقت پیش حل میشد، من خودم همیشه در حد چند دقیقه مشکلم را با sqlserver حل کرده بودم، ولی حتماً باید ک نکته ای از قلم افتاده باشد.

  38. #38

    نقل قول: attach کردن بانک به برنامه

    ممنونم از راهنماييتون دوست عزيز
    اين دفعه هر كاري مي كنم با اينكه تمام تنظيماتش رو هم درست كردم نمي تونم با اين برنامه كار كنم و مدام پيغام خطا ميده
    راه حل آخرتون خيلي سخته فكر نيم كنم بتونم انجامش بدم

  39. #39

    نقل قول: attach کردن بانک به برنامه

    تيكه برانمه كوچيكي كه براي امتحان استفاده مي كنم اين هست

    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.DBNull
    Imports System.Data.SqlClient.SqlConnection
    Imports System.Data.Common.DbConnection
    Imports System.Data.SqlClient.SqlCommand
    Imports System.Data.SqlClient.SqlDataAdapter
    Public Class Form1
    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
    If TextBox1.TextLength = 0 Or TextBox2.TextLength = 0 Or TextBox3.TextLength = 0 Or TextBox4.TextLength = 0 Or TextBox5.TextLength = 0 Then
    MessageBox.Show("لطفا اطلاعات را كامل وارد کنید ")
    ElseIf TextBox4.Text <> TextBox5.Text Then
    MessageBox.Show("تكرار رمز عبور اشتباه است ")
    Else
    Dim cn As New SqlClient.SqlConnection
    cn.ConnectionString = "Data Source=.\SQLEXPRESS;Integrated Security=True;AttachDbFilename=e:\project_Data.MDF ;Initial Catalog=project"
    Dim cmd As New SqlClient.SqlCommand
    cn.Open()
    cmd.Connection = cn
    cmd.ExecuteNonQuery()
    cmd.CommandType = Data.CommandType.Text
    cmd.CommandText = " INSERT INTO [user](id,name,vahed,pass1,pass2)VALUES(@TextBox1,@TextB ox2,@TextBox3,@TextBox4,@TextBox5)"
    cmd.Parameters.AddWithValue("textbox1", Me.TextBox1.Text)
    cmd.Parameters.AddWithValue("textbox2", Me.TextBox2.Text)
    cmd.Parameters.AddWithValue("textbox3", Me.TextBox3.Text)
    cmd.Parameters.AddWithValue("textbox4", Me.TextBox4.Text)
    cmd.Parameters.AddWithValue("textbox5", Me.TextBox5.Text)
    cmd.ExecuteNonQuery()
    MessageBox.Show("اطلاعات با موفقیت به ثبت رسید ")
    cn.Close()
    Me.Hide()
    End If
    End Sub
    End Class



    ولي موقع اجرا اين پيغام خطا رو ميده
    آخرین ویرایش به وسیله bahar2008 : دوشنبه 25 شهریور 1387 در 09:31 صبح

  40. #40
    کاربر دائمی آواتار fat_roze2000
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اصفهان
    سن
    44
    پست
    110

    نقل قول: attach کردن بانک به برنامه


    Try
    Dim strMDF As String = ""
    Dim strDB As String = ""

    If Not EMACoABFAResource.Common.clsUtility.CheckConnectio n("data source=" + txtQABFAServerName.Text + ";persist security info=False;user id=" & txtQABFAUserName.Text + ";packet size=4096;password=" & txtQABFAPassword.Text + ";initial catalog=master") Then Return
    If sender Is Me.btnAttachCallerID Then
    strMDF = Me.txtCallerIDBank_MDF.Text
    strDB = Me.txtCallerIDBank.Text
    ElseIf sender Is Me.btnAttachIsfahanPoints Then
    strMDF = Me.txtPoints_MDB.Text
    strDB = Me.txtPoints.Text
    ElseIf sender Is Me.btnAttachQAbfa Then
    strMDF = Me.txtQABFA_MDF.Text
    strDB = Me.txtQABFADatabaseName.Text
    End If

    strMDF = strMDF.ToUpper
    Dim strLDF As String = strMDF.ToUpper.Replace("MDF", "LDF")
    Dim fiInfo As New IO.FileInfo(strMDF)

    If Not (IO.File.Exists(strMDF) And IO.File.Exists(strLDF)) Then
    clsMain.frmMessage.ShowMessage(EMACoComponents.Enu ms.eMessage.eCustomMessage, "تمامی فایل های مربوط به بانک اطلاعاتی وجود ندارد", EMACoComponents.Enums.eMessageBoxButtons.eOk, EMACoComponents.Enums.eMessageBoxIcon.eStop)
    Return
    ElseIf fiInfo.Extension <> "MDF" Then
    clsMain.frmMessage.ShowMessage(EMACoComponents.Enu ms.eMessage.eCustomMessage, "فایل های مورد نظر جهت بانک اطلاعاتی مناسب نمی باشد", EMACoComponents.Enums.eMessageBoxButtons.eOk, EMACoComponents.Enums.eMessageBoxIcon.eStop)
    Return
    Else
    Dim cnn1 As New SqlClient.SqlConnection("data source=" + txtQABFAServerName.Text + ";persist security info=False;user id=" & txtQABFAUserName.Text + ";packet size=4096;password=" & txtQABFAPassword.Text + ";initial catalog=master")
    Dim cmd1 As New SqlClient.SqlCommand("SELECT name FROM sysdatabases WHERE name = N'" + strDB + "'", cnn1)
    cmd1.CommandType = CommandType.Text
    cmd1.Connection.Open()

    Dim rdr As SqlClient.SqlDataReader = cmd1.ExecuteReader

    If rdr.HasRows Then
    clsMain.frmMessage.ShowMessage(EMACoComponents.Enu ms.eMessage.eCustomMessage, "چنین بانک اطلاعاتی وجود دارد. نام دیگری انتخاب کنید.", EMACoComponents.Enums.eMessageBoxButtons.eOk, EMACoComponents.Enums.eMessageBoxIcon.eStop)
    Return
    Else
    rdr.Close()
    cmd1.CommandText = "SELECT name FROM sysdatabases WHERE filename = N'" + strMDF + "'"
    cmd1.CommandType = CommandType.Text
    rdr = cmd1.ExecuteReader

    If rdr.HasRows Then
    clsMain.frmMessage.ShowMessage(EMACoComponents.Enu ms.eMessage.eCustomMessage, "چنین بانک اطلاعاتی با نام دیگری ضمیمه شده است.", EMACoComponents.Enums.eMessageBoxButtons.eOk, EMACoComponents.Enums.eMessageBoxIcon.eStop)
    Return
    End If

    End If

    End If

    Dim cnn As New SqlClient.SqlConnection("data source=" + txtQABFAServerName.Text + ";persist security info=False;user id=" & txtQABFAUserName.Text + ";packet size=4096;password=" & txtQABFAPassword.Text)
    Dim cmd As New SqlClient.SqlCommand("EXEC sp_attach_db @dbname = N'" + strDB + "', @filename1 = N'" + strMDF + "',@filename2 = N'" + strLDF + "';", cnn)
    cmd.CommandType = CommandType.Text
    cmd.Connection.Open()
    cmd.ExecuteNonQuery()
    Catch ex As Exception

    End Try

صفحه 1 از 2 12 آخرآخر

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

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