آژانس هواپیمایی
pop up

سوال در مورد چگونگي برقراري ارتباط با جدولي در اس كيو ال سرور

شروع موضوع توسط mokhtari128 ‏12 اکتبر 2007 در انجمن SQL Server

  1. mokhtari128

    mokhtari128 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 سپتامبر 2007
    نوشته ها:
    6
    تشکر شده:
    0
    با سلام خدمت دوستان عزيز:
    من مي خوام در C# به صورت دستي با يك جدول از sql server ارتباط برقرار كنم.
    اما انگار ConnectionString كه مي نويسم مشكل داره:

    کد:
           
    SqlConnection objConnection = new SqlConnection(
            "server=(local);database=pubs;" +
            "user id=sa2;password=128");
    يعني نميتونم به درستي نام سرور و تنظيمات Remote access مربوطه به سرور رو كنترل كنم
    اگه ميتونيد كمكم كنيد.

    مشخصات:
    Sql server 2000 نصب كردم.
    خود .net 2005 هم sql داره.
    وقتي با استفاده از ويزارد براي پروژه ،Datasource تعريف مي كنم هيچ مشكلي ندارم و داده ها به درستي
    در DataGridView به نمايش در ميايند.
    كد كلي من:
    کد:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    // Using Data and SqlClient namespaces...
    using System.Data;
    using System.Data.SqlClient;
    
    namespace DatasetExample
    {
        public partial class Form1 : Form
        {
            SqlConnection objConnection = new SqlConnection(
            "server=(local);database=pubs;" +
            "user id=sa2;password=128");
            SqlDataAdapter objDataAdapter = new SqlDataAdapter();
            DataSet objDataSet = new DataSet();
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                // Set the SelectCommand properties...
                objDataAdapter.SelectCommand = new SqlCommand();
                objDataAdapter.SelectCommand.Connection =
                objConnection;
                objDataAdapter.SelectCommand.CommandText =
                "SELECT au_lname, au_fname, title, price " +
                "FROM authors " +
                "JOIN titleauthor ON authors.au_id = " +
                "titleauthor.au_id " +
                "JOIN titles ON titleauthor.title_id = " +
                "titles.title_id " +
                "ORDER BY au_lname, au_fname";
                objDataAdapter.SelectCommand.CommandType =
                CommandType.Text;
                // Open the database connection...
                objConnection.Open();
                // Fill the DataSet object with data...
                objDataAdapter.Fill(objDataSet, "authors");
                // Close the database connection...
                objConnection.Close();
                // Set the DataGridView properties
                // to bind it to our data...
                dataGridView1.AutoGenerateColumns = true;
                dataGridView1.DataSource = objDataSet;
                dataGridView1.DataMember = "authors";
                // Clean up
                objDataAdapter = null;
                objConnection = null;
            }
        }
    }
    
    
    
    
    خطي كه ايراد مي گيره:
    [​IMG]
     
  2. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    66
    محل سکونت:
    نصف جهان
    connection string شما درسته . التبه میتونین از www.connectionstrings.com هم کمک بگیرین

    اما لطفا خطی که ارور میده را به همراه ارور اینجا قرار بدین تا راهنماییتون کنم.

    ضمنا چند نکته :

    1- وقتی که از datatAdaptet استفاده میکننی نیازی به این نیست که خودتون connection را باز کنین

    2- حتما سعی کنین connection رو داخل همون تابعی تعریف کنین که قراره ازش استفاده بشه

    3- هرگز اشیاء بخصوص اشیار سراسری رو null نکنید که مشکل سازه
     
  3. mokhtari128

    mokhtari128 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 سپتامبر 2007
    نوشته ها:
    6
    تشکر شده:
    0
    خطايي كه ميگيره اينه:

    [​IMG]

    من مي خوام يك برنامه اي درست كنم كه با ديتا بيس ارتباط برقرار كنه
    و امكانات اضافه كردن ، حذف ، به روز آوري و جستجو را داشته باشد.
    اما در قدم اول براي برقراري ارتباط به صورت دستي با ديتابيس گير كردم.

    به نظر شما ميشه با ويزارد ها يك Datasource رو به برنامه اضافه كنم و بعد از كد ها و قسمت هايي كه خودش به صورت اتوماتيك توليد مي كند براي مثلاً ذخيره داده در ديتابيس كمك بگيرم ؟

    ميگه ديتابيس اجازه RemoteAccess نميده در حالي كه چك كردم فعال بوده.
    اينم محل تنظيمش:

    [​IMG]