执行读取器:连接属性未初始化错误 VS 2010


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

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

执行读取器:连接属性未初始化

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

问题:您的连接字符串无效,因为 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());
}

最新更新