我有以下代码:
OpeningForm of = new OpeningForm();
of.ShowDialog();
SqlConnection SqlBaglanti = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=MolaTakip; integrated security=true");
SqlBaglanti.Open();
SqlCommand komut = new SqlCommand("AgentBilgisiDondur')", SqlBaglanti);
komut.CommandType = System.Data.CommandType.StoredProcedure;
komut.Parameters.AddWithValue("@LoginName", ThisAgent.LoginName);
SqlDataReader dr = komut.ExecuteReader();
while (dr.Read())
{
ThisAgent.AgentID = int.Parse(dr["UserID"].ToString());
ThisAgent.AgentAdi = dr["UserName"].ToString();
}
SqlBaglanti.Close();
FileStream fs = new FileStream(@"C:\agent.bin", FileMode.OpenOrCreate);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, ThisAgent);
所有这些代码都写在Form_Load
事件中。但在
SqlDataReader dr = komut.ExecuteReader();
行,其他命令未运行。
答案 0 :(得分:2)
你确定语法吗?
SqlCommand komut = new SqlCommand("AgentBilgisiDondur')", SqlBaglanti);
我认为你有一个名为AgentBilgisiDondur的存储过程而不是AgentBilgisiDondur')
SqlCommand komut = new SqlCommand("AgentBilgisiDondur", SqlBaglanti);
建议:同时尝试使用英语,因为您的专栏是英文版,例如UserName
。所以你可以尝试ReturnAgentInformation
;)
答案 1 :(得分:0)
您必须使用sql命令而不是sqlconnection本身打开数据库连接。 你正确地通过了命令。现在命令必须打开它。
在致电SqlBaglanti.Open();
之前删除ExecuteReader()
:
SqlCommand.Connection.Open();
答案 2 :(得分:0)
错误是您没有正确的参数(您是否错过了某些参数,如存储过程的passowrd代理或存储过程的名称错误)请检查