Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ошибка при подключении / 10 сообщений из 10, страница 1 из 1
12.05.2008, 19:08
    #35307463
Change
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
Привет! Я не могу подключится к серверу SQL. При вызове SqlConnection.Open(), программа вылетает с исключением.

вот функция при щелчке на кнопке мыши:(С#)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
private void buttonConnect_Click(object sender, System.EventArgs e)
{
			string strconn;
			strconn="Server=(local);Initial Catalog=Nortwind;Trusted_Connection=Yes;";
			conn=new SqlConnection(strconn);
			
			if(conn!=null)
			{
				try
				{
					this.conn.Open();
				}
				catch(Exception exc)
				{	
					MessageBox.Show(exc.Message);
				}
				finally
				{
					conn.Close();
				}
			}
}

Имя исключения: System.NullReferenceException
Это сообщение об ошибке: Object reference not set to an instance of an object

У друзей все работает прально! Помогите разобраться, в чем проблема!!!!
...
Рейтинг: 0 / 0
12.05.2008, 23:53
    #35307754
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
ChangeПривет! Я не могу подключится к серверу SQL. При вызове SqlConnection.Open(), программа вылетает с исключением.

вот функция при щелчке на кнопке мыши:(С#)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
private void buttonConnect_Click(object sender, System.EventArgs e)
{
			string strconn;
			strconn="Server=(local);Initial Catalog=Nortwind;Trusted_Connection=Yes;";
			conn=new SqlConnection(strconn);
			
			if(conn!=null)
			{
				try
				{
					this.conn.Open();
				}
				catch(Exception exc)
				{	
					MessageBox.Show(exc.Message);
				}
				finally
				{
					conn.Close();
				}
			}
}

Имя исключения: System.NullReferenceException
Это сообщение об ошибке: Object reference not set to an instance of an object

У друзей все работает прально! Помогите разобраться, в чем проблема!!!!

Вы упростили код для удобства?
Покажите полностью
...
Рейтинг: 0 / 0
13.05.2008, 21:24
    #35310209
Change
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
Пожалуйста:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;

namespace adotraining
{
	
	public class MainForm : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button buttonConnect;
		private System.ComponentModel.Container components = null;

		private SqlConnection conn;

		public MainForm()
		{
			InitializeComponent();
		}

		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.buttonConnect = new System.Windows.Forms.Button();
			this.SuspendLayout();
			// 
			// buttonConnect
			// 
			this.buttonConnect.Location = new System.Drawing.Point( 16 ,  152 );
			this.buttonConnect.Name = "buttonConnect";
			this.buttonConnect.Size = new System.Drawing.Size( 88 ,  24 );
			this.buttonConnect.TabIndex =  0 ;
			this.buttonConnect.Text = "Подключение";
			this.buttonConnect.Click += new System.EventHandler(this.buttonConnect_Click);
			// 
			// MainForm
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size( 5 ,  13 );
			this.ClientSize = new System.Drawing.Size( 352 ,  262 );
			this.Controls.Add(this.buttonConnect);
			this.Name = "MainForm";
			this.Text = "Автомагазин";
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new MainForm());
		}

		private void buttonConnect_Click(object sender, System.EventArgs e)
		{
			string strconn;
			strconn="Server=(local);Initial Catalog=Nortwind;Trusted_Connection=Yes;";
			conn=new SqlConnection(strconn);
			
			if(conn!=null)
			{
				MessageBox.Show("Объект создан");
				//try
				//{
					this.conn.Open();
				//}
				//catch(Exception exc)
				//{	
				//	MessageBox.Show(exc.Message);
				//}
				//finally
				//{
				//	conn.Close();
				//}
			}
		}
	}
}
...
Рейтинг: 0 / 0
14.05.2008, 03:19
    #35310462
Student007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
SQL_Lamerthis.conn.Open()
(аки посторонний)

А если без "this."?
...
Рейтинг: 0 / 0
14.05.2008, 09:06
    #35310593
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
private void buttonConnect_Click(object sender, System.EventArgs e)
        {
            string strconn;
            strconn = "Server=(local);Initial Catalog=Nortwind;Trusted_Connection=Yes;";
            conn = new SqlConnection(strconn);

            try
            {
                conn.Open();
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
            finally 
            {
                if (conn.State == ConnectionState.Open)
                    conn.Close(); 
            }
        }

1.Проверка на null не нужна - объект создается в любом случае.
2.Перед закрытием коннекта проверяйте, открыт ли он
3.Надо полагать, у вас Express edition MS Sql server?
тогда лучше пользуйтесь этой строкой:

Код: plaintext
"Data Source=.\SQLEXPRESS;Initial Catalog=Nortwind;Integrated Security=SSPI;"

4 - е, и самое главное - не вижу никакого смысла в вашем коде :)
...
Рейтинг: 0 / 0
14.05.2008, 11:50
    #35311169
Change
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
Student007 SQL_Lamerthis.conn.Open()
(аки посторонний)

А если без "this."?

А разве есть разница???
...
Рейтинг: 0 / 0
14.05.2008, 11:55
    #35311192
Change
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
3.Надо полагать, у вас Express edition MS Sql server?
тогда лучше пользуйтесь этой строкой:

Код: plaintext
"Data Source=.\SQLEXPRESS;Initial Catalog=Nortwind;Integrated Security=SSPI;"


не у мя MSSQLServer 2000, MS Visual Studio.NET 2003

4 - е, и самое главное - не вижу никакого смысла в вашем коде :)

Это что-то типа "Hello World!" для ADO.NET:)! да вот застрял!
...
Рейтинг: 0 / 0
14.05.2008, 15:20
    #35312008
Student007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
Change Student007 SQL_Lamerthis.conn.Open()
(аки посторонний)

А если без "this."?

А разве есть разница???

Честно не знаю =) - просто приглядывался к коду и к сообщению об ошибке. Ошибка звучит - ссылка на объект не установлена в экземпляр объекта и выскакивало это на this.conn.Open()
Проверка на conn!=Null вроде была выше, следовательно объект по ссылке conn существует, остается проверка на существование объекта this.conn!=Null - гипотетически предположил, что если может быть this.conn <> conn ... Но это так - пальцем в небо - я даже синтаксиса не знаю - разглядывал только.
...
Рейтинг: 0 / 0
14.05.2008, 23:55
    #35313239
SQL_Lamer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
Change 3.Надо полагать, у вас Express edition MS Sql server?
тогда лучше пользуйтесь этой строкой:

Код: plaintext
"Data Source=.\SQLEXPRESS;Initial Catalog=Nortwind;Integrated Security=SSPI;"


не у мя MSSQLServer 2000, MS Visual Studio.NET 2003

4 - е, и самое главное - не вижу никакого смысла в вашем коде :)

Это что-то типа "Hello World!" для ADO.NET:)! да вот застрял!

Поставьте уже хотя - бы 2005 студию, все - таки 2008 год на дворе :)

Воспользуйтесь такой строкой для MSSQLServer 2000:

Код: plaintext
1.
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Вот здесь смотрите строки на здоровье

авторЭто что-то типа "Hello World!" для ADO.NET:)!
попытайтесь тогда сделать что-нибудь осмысленное, типа простой выборки из таблицы
...
Рейтинг: 0 / 0
15.05.2008, 00:48
    #35313274
Change
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при подключении
авторВоспользуйтесь такой строкой для MSSQLServer 2000:

Код: plaintext
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;


Пробовал-не помогает! И на connectionstrings.com тоже был, все строки перепробовал!

авторпопытайтесь тогда сделать что-нибудь осмысленное, типа простой выборки из таблицы

Тут бы хоть к серверу подключится для начала!

Но вот еще кое-что интересное: когда программа слетала с исключением, в в окошке Autos, если распахнуть список членов объекта conn - есть любопытная переменная-член IsShiloh с типом bool.
Так вот именно в колонке Value этой переменной и написанно что возникло исключение System.NullReferenceException. Отсюда вопрос что это за переменная такая и за что она отвечает???
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ошибка при подключении / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]