我在某种程度上理解它可以帮助应用程序进行通信而不管它们的位置 为什么它很重要,什么是WCF真实使用的例子?
我有一个存储过程,我想将一个GUID(用户ID)插入到MS SQL中的表中,但我一直收到关于连字符' - '的错误,这是guid值的一部分,这里是我在下面定义的proc;
@userID uniqueidentifier,
@bookID int,
@dateReserved datetime,
@status bit
INSERT INTO Reservation(BookId, DateReserved, [Status], UserId)
VALUES (@bookID, @dateReserved, @status, @userID)
Run Code Online (Sandbox Code Playgroud)
但是,如果在Management Studio中执行存储过程,我会在值周围放置单引号,它运行正常.如何处理guid插入而不会出现存储过程中的问题?
多谢你们.
更新 这里是sql exec
DECLARE @return_value int
EXEC @return_value = [dbo].[usp_ReserveBook]
@userID = AE019609-99E0-4EF5-85BB-AD90DC302E70,
@bookID = 7,
@dateReserved = N'09/03/2009',
@status = 1
SELECT 'Return Value' = @return_value
Run Code Online (Sandbox Code Playgroud)
这是错误消息
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near '-'.
Run Code Online (Sandbox Code Playgroud) 这是我注意到的趋势.java社区对ruby的采用非常广泛.是不是c#是如此令人敬畏的语言+拥有优秀的java工具,大多数c#开发人员都不像Java开发人员那样永久地切换到ruby?
你有什么看法?
我有一个Database类,它抽象出SqlCommand的ExecuteNonQuery()和ExecuteReader().由于各地使用块包裹的SqlConnection和SqlCommand的,该CustomExecuteReader()被调用后SqlDataReader中被关闭,所以我不能在业务层面层读取SqlReaderResultSet.代码如下.谢谢大家的反馈.
public static SqlDataReader SqlReaderResultSet { get; set; }
public static SqlDataReader CustomExecuteReader(string storedProc)
{
using (var conn = new SqlConnection(ConnectionString))
{
var cmd = new SqlCommand(storedProc, conn) {CommandType = CommandType.StoredProcedure};
try
{
conn.Open();
SqlReaderResultSet = cmd.ExecuteReader();
}
catch (InvalidOperationException)
{
if (conn.State.Equals(ConnectionState.Closed))
conn.Open();
}
finally
{
conn.Close();
}
}
return SqlReaderResultSet;
}
Run Code Online (Sandbox Code Playgroud)