PDA

View Full Version : مشكل در اتصال به sql server 2005



poya011
یک شنبه 22 اردیبهشت 1387, 20:22 عصر
سلام دوستان
مشكل من اين است كه ميخوام يه پروژه بنويسم بانك اطلاعاتي من sql server 2005 و مي خوام كه اين بانك با برنامه باشه چطوري sqlconnection را بنويسم آيا اين درست است.
cn = new SqlConnection("server =localhost;database=database;integrated security=true");
اگر درست است به من خطا مي دهد و خطا به صورت زير است
Cannot open database "database" requested by the login. The login failed.
Login failed for user 'NASLEJAVAN\ali'.
اگر مي شود يك برنامه ساده براي من با بانك اطلاعاتي sql بگذاريد .

User-os
یک شنبه 22 اردیبهشت 1387, 22:57 عصر
این کد رو امتحان کن
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace sql
{
public partial class Form1 : Form
{ bool t1, t2;
SqlCommand cmd;
SqlConnection cnn;
SqlDataAdapter da;
DataSet dset;

public Form1()
{

InitializeComponent();

//***************************** set connection************

cnn =new SqlConnection();
cnn.ConnectionString = ("integrated security=SSPI;persist security info=True;initial catalog=me");
}


private void button1_Click(object sender, EventArgs e)
{
{



try
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "INSERT INTO table1 (first2, last2)" +
"VALUES(@first2, @last2)";
cmd.Parameters.AddWithValue("@last2", textBox1.Text);
cmd.Parameters.AddWithValue("@first2", textBox2.Text);
cnn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("record inserted Successfully");
cnn.Close();
}
catch (SqlException e1)
{
cnn.Close();
MessageBox.Show(e1.ToString());
}

}
}

poya011
دوشنبه 23 اردیبهشت 1387, 07:35 صبح
جواب نداد ولي از يكي از دوستان پرسيدم گفت sql server من express يعني چه ؟ اگر مي شود كانكشن اين را توضيح دهيد .

hozouri
دوشنبه 23 اردیبهشت 1387, 08:45 صبح
sqlconnection cn=new sqlconnection("(Local)\\SQLEXPRESS;database=dbname;integrated security=SSPI");

این کد رو امتحان کن و منظور از SQLEXPRESS نام SQL است که در قسمت LOCAL تعیین IP سرور صورت می گیره اگه SQL بر روی کامپیوتر خودتون نصبه به Local با پرانتز هش دست نزنید SQLEXPRESS هم نام SQL رو بیان میکنه که معمولا همونه مگر اینکه خودتون نامش رو عوض کرده باشید برای فهمیدنه نامش هم SQL server managment studio رو باز کرده و در قسمت Connection to server بعد از نام کامپیوتر نام SQL آورده شده قسمت security برای تععین امنیت و سطح دسترسی اگه خواستید بگید بیشتر راهنمایی کنم

poya011
دوشنبه 23 اردیبهشت 1387, 08:50 صبح
Keyword not supported: '(localhost)\sqlexpress;database'.

poya011
دوشنبه 23 اردیبهشت 1387, 08:52 صبح
خطا Keyword not supported: '(local)\sqlexpress;database'. را مي دهد
اگر مي شود يك برنامه ساده فقط وصل شدن به ديتابيس را بگوييد همراه با ديتابيس بگزاريد

hozouri
دوشنبه 23 اردیبهشت 1387, 08:54 صبح
بعد از local host دو تا \\ میخوره

hozouri
دوشنبه 23 اردیبهشت 1387, 08:56 صبح
چون در زبونهای C اسلش یا \ برای استفاده از کلمات کیدی مثل n , t و... استفاده می شه پس برای استفاده از \ باید دو \\ گذاشته شود

hozouri
دوشنبه 23 اردیبهشت 1387, 09:14 صبح
اینم source و database

top7news
دوشنبه 23 اردیبهشت 1387, 11:57 صبح
یه سئوال
دوست عزیز چرا شما از خود SQL Connection که خود دات نت در اختیارت قرار میده استفاده نمیکنی
ازتوی toolbar گزینه sql connection رو بیار روی فرمی که نیاز داری
بعد تنظیمات مربوط به اسم سرور و بانکت رو انجام بده
خودش برات بهترین connection ممکنه و میسازه
حتما احتیاج نیست دستی بسازی

hozouri
دوشنبه 23 اردیبهشت 1387, 14:41 عصر
هرکسی به یک جور برنامه نویسی آدت داره ....
ولی در کل استفاده از کدها درسته که وقته بیشتری رو می بره تا اینکه بخوایم از کامپوننت استفاده کنیم ولی از چند لحظ خیلی خوبه
1.مدیریت و تسلط بیشتر روی برنامه
2.انعطاف پذیری بیشتر در کدها