我正在使用 Microsoft Enterprise Lip。我有一个在网站中插入资源的方法,但是出现了以下错误,我认为这不是权限问题,但我真的不知道如何解决它。顺便说一下,我测试了 connectionStrings,它运行良好。
<connectionStrings>
<add name="SiteSqlServer"
connectionString="Data Source=.;Initial Catalog=databaseName;User ID=sa;Password=***"/>
</connectionStrings>
public static int Insert(Resoursce r)
{
Database objDB = new SqlDatabase("SiteSqlServer");
int val = 0;
using (DbCommand cmd = objDB.GetStoredProcCommand("InsertResoursce"))
{
// OutParameter
objDB.AddOutParameter(cmd,"@OutResoursceID",DbType.Int32,int.MaxValue);
// iNParameter
objDB.AddInParameter(cmd, "@ModuleId", DbType.Int32, r.ModuleId);
objDB.AddInParameter(cmd, "@Summary", DbType.StringFixedLength, r.Summary);
objDB.AddInParameter(cmd, "@PageId", DbType.StringFixedLength, r.PageID);
objDB.AddInParameter(cmd, "@TypeId", DbType.Int32, r.TypeID);
objDB.AddInParameter(cmd, "@UserID", DbType.Guid, r.UserID);
objDB.AddInParameter(cmd, "@Enabled", DbType.Boolean, r.Enabled);
objDB.AddInParameter(cmd, "@SafetyAlert", DbType.Boolean, r.SafetyAlert);
objDB.AddInParameter(cmd, "@SaftyAlertText", DbType.StringFixedLength, r.SafetyAlertText);
try
{
val = objDB.ExecuteNonQuery(cmd);
if (val == 1)
{
return Convert.ToInt32(objDB.GetParameterValue(cmd, "@OutResoursceID"));
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
}
System.ArgumentException被捕获HResult=-2147024809
Message=初始化字符串的格式不符合从索引0开始的规范。
Source=System.Data
StackTrace:
在 System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue)
在 System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
在 System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
在 System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
在 System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
在 System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
在 System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
在 Microsoft.Practices.EnterpriseLibrary.Data.Database.CreateConnection()
在 Microsoft.Practices.EnterpriseLibrary.Data.Database.GetNewOpenConnection()
在 Microsoft.Practices.EnterpriseLibrary.Data.Database.GetWrappedConnection()
在 Microsoft.Practices.EnterpriseLibrary.Data.Database.GetOpenConnection()
在 Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DbCommand command)
在 Christoc.Modules.ResourceModule.App_Code.BOL.Resoursce.Insert(Resoursce r) in c:\inetpub\wwwroot\ideaPark\DesktopModules\ResourceModule\App_Code\BOL\Resoursce.cs:line 54
InnerException: