برگزیده های پرشین تولز

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

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;
        }
    }
}

خطي كه ايراد مي گيره:
shlsqlconnection.jpg
 

alireza sh

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

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

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

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

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

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

mokhtari128

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

shlsqlerror.jpg


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

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

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

shlsqlremoteanable.jpg
 
بالا