Я создал простую форму, которая содержит текстовое поле, предлагающее пользователю ввести идентификатор. В форме есть кнопка отправки и SQLDataSource, который связывает значение текстового поля в качестве параметра для запроса.
<fieldset>
<asp:Label runat="server" ID="lblAcctNo">Please enter the account number:</asp:Label>
<asp:TextBox runat="server" ID="txtAcctNo"></asp:TextBox>
<asp:Button runat="server" ID="btnSubmit" Text="Submit" />
</fieldset>
<asp:SqlDataSource ID="sdsMMSPts" runat="server"
ConnectionString="<%$ ConnectionStrings:mmsptsConnectionString %>"
SelectCommand="SELECT [Recommended], [PatientId] FROM [Patients] WHERE ([PatientId] = @PatientId)">
<SelectParameters>
<asp:ControlParameter ControlID="txtAcctNo" Name="PatientId"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Я видел примеры, когда в codebehind установлено соединение SQl. Это необходимо, или вышеупомянутый SQLDataSource позаботится об этом? Может кто-нибудь поделиться хорошими ссылками на создание окон сообщений на основе результатов запроса? В моем случае, если «Рекомендовано» равно 1, тогда нужно будет показать сообщение 1, если «Рекомендовано» 2, то должно быть показано сообщение 2. Если идентификатор пользователя недействителен, необходимо показать третье сообщение. Как мне это сделать?
UPDATE:
В своем коде я написал следующее:
protected void Page_Load(object sender, EventArgs e)
{
string connString = System.Configuration.ConfigurationManager.ConnectionStrings
["mmsptsConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(connString);
sqlconn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = connString;
cmd.CommandType = SqlDataSourceCommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter ("@PatientId", SQLDbType.varchar ));
using (var reader = cmd.ExecuteReader())
{while reader.Read()
txtAcctNo.Text=cmd.Parameters("@PatientId")
}
}
Я собираюсь вызвать мою хранимую процедуру и вернуть результаты после binindg @PatientId в txtAcctNo.Text. Я немного разболтался о SqlClient, какие дальнейшие шаги необходимы, чтобы получить результаты от моей хранимой процедуры? Одним из выходных параметров является @Recommended, который является битовым полем. Как бы я оценил значение параметра и вызвал бы или предупреждение окна сообщения или элемент управления меткой, основанный на значении этого параметра? Например, если @Recommended = 1, выведите «Message 1» в label1.text, в противном случае выведите «Message 2» в lable1.text