J'ai rectifié mon problème précédent et maintenant en mesure d'insérer des données dans la table.
Maintenant, en lisant les données avec le nom, âge, sexe, ville, état TypeofDisease ne pas obtenir les result..as un résultat toujours que je reçois « System.Data.SqlClient.SqlDataReader » Voici ma procédure stockée:Lors de la lecture des données du problème de base de données
CREATE PROCEDURE SearchPatient
(
@Name varchar(50),
@Age int,
@Gender varchar(50),
@City varchar(50),
@TypeofDisease varchar(50)
)
AS
select * from Patient where [email protected] and [email protected] and [email protected] and [email protected] and [email protected]
GO
Et voici mon code d'événement:
protected void BtnSearch_Click(object sender, EventArgs e)
{
string name = TxtName.Text.Trim();
int age = Convert.ToInt32(TxtAge.Text);
string gender;
if (RadioButtonMale.Checked)
{
gender = RadioButtonMale.Text;
}
else
{
gender = RadioButtonFemale.Text;
}
string city = DropDownListCity.SelectedItem.Value;
string typeofdisease = "";
foreach (ListItem li in CheckBoxListDisease.Items)
{
if (li.Selected)
{
typeofdisease += li.Value;
}
}
string[] sl=typeofdisease.Split();
foreach (string s in sl)
{
ListItem itm = CheckBoxListDisease.Items.FindByValue(s);
if (itm != null)
{
itm.Selected = true;
}
}
string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
SqlConnection con = new SqlConnection(ConString);
con.Open();
SqlCommand com = new SqlCommand("SearchPatient", con);
com.CommandType = CommandType.StoredProcedure;
try
{
com.Parameters.Add("@Name", SqlDbType.VarChar, 50).Value = name;
com.Parameters.Add("@Age", SqlDbType.Int).Value = age;
com.Parameters.Add("@Gender", SqlDbType.VarChar, 50).Value = gender;
com.Parameters.Add("@City", SqlDbType.VarChar, 50).Value = city;
com.Parameters.Add("@TypeofDisease", SqlDbType.VarChar, 50).Value = sl.ToString();
SqlDataReader dr;
dr = com.ExecuteReader();
StringBuilder sb = new StringBuilder();
sb.Append(dr);
lblPatientDetails.Text = sb.ToString();
}
catch
{
throw;
}
finally
{
con.Close();
com.Dispose();
}
}
Pls quelqu'un modifier mon code, pour atteindre mon résultat attendu ..