1
我有一個方法向SQL Server過程發送兩個變量,一個int和一個分隔字符串。當通過ASP.NET 3.5插入到表中時返回異常C#方法
變量值(從調試器複製):
detailId: 5
fileNames: "recruiter.txt|cert.pdf"
的方法:
public void InsertFiles(int detailId, string fileNames)
{
ConnectionStringSettings connString = ConfigurationManager.ConnectionStrings["PRADB"];
using (SqlConnection conn = new SqlConnection(connString.ToString()))
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "dbo.InsertFiles";
cmd.Parameters.AddWithValue("@detailId", detailId);
cmd.Parameters.AddWithValue("@fileNames", fileNames);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
string exc = ex.ToString();
}
finally
{
conn.Close();
}
}
}
這裏是PROC:
ALTER PROCEDURE [dbo].[InsertFiles]
@detailId int,
@fileNames varchar(max)
AS
BEGIN
SET NOCOUNT ON;
insert into [dbo].[PRA_Files] (detailId, fileNames)
values (@detailId, @fileNames)
END
調試時的異常接收的:
{"Incorrect syntax near 'dbo'."}
然而,當我從PROC執行:
exec [dbo].[InsertFiles] 5, "recruiter.txt|cert.pdf"
它工作正常。錯誤不在代碼端,因爲它被捕獲到上面方法的catch塊中。我很難過。
啊你剛纔打我給它。 :-) –
即將發佈相同的東西。把我抓出來那麼多次;) –
doh。謝謝D.憎恨簡單的錯誤,永遠找不到它們。 –