真的有连接字符串的烦人时间.
我在一个解决方案中共同拥有两个项目.Web表单应用程序充当表示层,以及支持它的类库,它将从数据库发送和接收数据.
- 类库项目中的员工类 -
Friend Class Employee
Public Function GetEmployees() As DataSet
Dim DBConnection As New SqlConnection(My_ConnectionString)
Dim MyAdapter As New SqlDataAdapter("exec getEmployees", DBConnection)
Dim EmployeeInfo As DataSet
MyAdapter.Fill(EmployeeInfo, "EmployeeInfo")
Return EmployeeInfo
End Function
End Class
Run Code Online (Sandbox Code Playgroud)
目前该应用程序告诉我它无法访问我试图存储在配置文件中以便快速重复访问的"My_ConnectionString":
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<connectionStrings>
<add name="My_ConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=My_DB;Integrated Security=True;"/>
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
web.config是Web表单项目的一部分,而不是类库,这些项目是否无法相互"交谈"?我是否需要将web/app配置文件添加到类库以在该项目中存储连接字符串?
我创建了以下存储过程,在创建新员工时将调用该过程.只要员工在Employee表中不存在,插入就应该成功.
为了检查这一点,我决定检查FirstName,LastName和DateOfBirth.如果一行包含所有这些列的3路匹配,则插入失败.
我所看到的是,If语句将我的AND视为OR.如果发生一次匹配,则插入失败.
经过一番搜索,我无法看到我的If结构出了什么问题.任何帮助,将不胜感激.
Create Procedure CreateEmployee
(
@Role_ID Int,
@FirstName Varchar(50),
@LastName Varchar(50),
@DateOfBirth Varchar(50),
@Active Bit
)
As
Begin
If Not Exists (Select FirstName From Employee Where FirstName = @FirstName)
AND Not Exists (Select LastName From Employee Where LastName = @LastName)
AND Not Exists (Select DateOfBirth From Employee Where DateOfBirth = @DateOfBirth)
Begin
Insert Into Employee (Role_ID, FirstName, LastName, DateOfBirth, Active)
Values (@Role_ID, @FirstName, @LastName, @DateOfBirth, @Active)
End
Else
Begin
Select 'User already exists!'
End
End
Run Code Online (Sandbox Code Playgroud)