0
我試圖改變一個SqlDataSource的參數,但代碼似乎失敗了,換句話說我似乎失敗了。無法讓SqlDataSource.SelectParameters.Add工作
下面是代碼:
int id = 0;
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RHOGEConnection"].ConnectionString);
SqlCommand getId = new SqlCommand(null, conn);
SqlParameter name = new SqlParameter("@name", SqlDbType.NVarChar);
name.Value = SelectTeam.SelectedValue;
getId.Parameters.Add(name);
/* getId.CommandText = */ //changed to a select statement that gets a number
try
{
conn.Open();
id = (int)getId.ExecuteScalar();
conn.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
SqlDataSource2.SelectParameters.Add(new Parameter("getId", TypeCode.Int16, Convert.ToString(id)));
現在我知道的代碼來獲取數,上述SqlDataSource2線,作品,因爲我印在屏幕上,他們似乎是正確的。我也嘗試過SQL Management Studio中的SqlDataSource2選擇命令,它會產生正確的結果。所以我最好的猜測是將參數添加到參數列表中存在問題。
SELECT [TeamName] FROM [Teams] where PlayerIdent = (select playerId
from Players where PlayerShirtId = @getId)
以上是工作的select命令。
你是否同意參數是正確的診斷,如果是的話我應該怎麼做?
編輯:我能夠通過以下方式解決這個問題。的
SqlDataSource2.SelectParameters["getId"].DefaultValue = Convert.ToString(id);
如果你說你已經解決了需要回答這個問題,然後還剩下什麼疑問到底 – HatSoft