executereader:连接属性未初始化错误VS 2010

时间:2014-02-23 11:18:31

标签: c# database visual-studio-2010 connection desktop-application

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Text.RegularExpressions;

namespace WareHouseManagementSystems
{
class connection
{


public SqlConnection con = new SqlConnection();
public SqlCommand com = new SqlCommand();
public SqlDataReader dr;

public void connect()
{
try
{

con.ConnectionString ="Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\WAREHOUSEMANAGEMENTSYSTEMS_VS2008\\WAREHOUSEMANAGE MENTSYSTEMS_VS2008\\DATABASE\\2008\\WAREHOUSEMANAGEMENT.MDF;Integrated Security=True;Connect  Timeout=30;User Instance=True";
con.Open();
com.Connection = con;
com.CommandType = CommandType.Text;
}
catch
{

}


}

 public bool isValidEmail(string inputEmail)
 {
 string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
 @"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
 @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
 Regex re = new Regex(strRegex);
 if (re.IsMatch(inputEmail))
 return (true);
 else
 return (false);
 }
 }
 }

每当我调试它时,我都会收到一条错误

  

executereader:连接属性未初始化

我尝试检查连接路径,所有内容都更改为所需的路径或位置。但一切都是徒劳的。

1 个答案:

答案 0 :(得分:1)

问题:您的连接字符串无效,因为DataSource之间没有空格。

                         |
                         >
con.ConnectionString ="DataSource=.\\SQLEXPRESS;AttachDbFilename=

解决方案:您的连接字符串中应该有DataSource之间的空格。

替换它:

con.ConnectionString ="DataSource

有了这个:

con.ConnectionString ="Data Source

建议:你永远不应该用catch{}来压制catch块,否则它会破坏你在代码中尝试catch块的全部目的。

试试这个:

try
{
//some code here
}
catch(Exception ex)
{
//some exception raised
Console.WriteLine(ex.ToString());
}