Целью следующего кода является выбор инструкции SQL SELECT
в строковой переменной в зависимости от того, является или нет текстовое поле или нет, тогда выполните инструкцию. Я пробовал как с помощью переменного и непосредственно выполнения SELECT
заявления, используяВыберите строку поиска SQL на основе содержимого текстового поля ASP.NET
SqlDataSource1.SelectCommand = 'SELECT...'
К сожалению, ни один метод возвращают что-либо вообще, когда я положил данные в текстовых полях, которые будут проверен.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data.Sql;
namespace MyProgram
{
public partial class WebForm1 : System.Web.UI.Page
{
string query = "";
protected void Page_Load(object sender, EventArgs e)
{
SqlDataSource1.SelectCommand = query;
SqlDataSource1.SelectParameters.Add("NameLast", SearchLast.ToString());
SqlDataSource1.SelectParameters.Add("NameFirst", SearchFirst.ToString());
SqlDataSource1.SelectParameters.Add("SSN", SearchSSN.ToString());
SqlDataSource1.SelectParameters.Add("DOB", SearchDOB.ToString());
SqlDataSource1.SelectParameters.Add("Case", SearchCase.ToString());
}
protected void Button1_Click(object sender, EventArgs e)
{
if (SearchCase.Text != string.Empty)
{
SqlDataSource1.SelectCommand = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE CLTCAS = @Case";
}
if (SearchSSN.Text != string.Empty && SearchSSN.Text.Length == 4 && SearchLast.Text == string.Empty && SearchFirst.Text == string.Empty)
{
SqlDataSource1.SelectCommand = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE right(CLTSSN,4) = @SSN";
}
if (SearchSSN.Text != string.Empty && SearchSSN.Text.Length == 9 && SearchLast.Text != string.Empty && SearchFirst.Text == string.Empty)
{
query = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE CLTSSN = @SSN";
}
if (SearchLast.Text != string.Empty && SearchFirst.Text != string.Empty && SearchDOB.Text == string.Empty && SearchSSN.Text == string.Empty)
{
query = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE CLTLST = @NameLast and CLTFST like @NameFirst+'%'";
}
if (SearchLast.Text != string.Empty && SearchFirst.Text == string.Empty && SearchSSN.Text == string.Empty && SearchDOB.Text == string.Empty)
{
query = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE CLTLST = @NameLast+'%'";
}
if (SearchLast.Text == string.Empty && SearchFirst.Text == string.Empty && SearchSSN.Text == string.Empty && SearchDOB.Text != string.Empty)
{
query = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE (cltbyr+'-'+cltbmm+'-'+cltbdd = @DOB)";
}
if (SearchLast.Text != string.Empty && SearchFirst.Text == string.Empty && SearchSSN.Text == string.Empty && SearchDOB.Text != string.Empty)
{
query = "SELECT CLTCAS,CLTLST+', '+CLTFST,DATEFROMPARTS(cltbyr,cltbmm,cltbdd),CLTCTY+', '+[ CLTSTA],CLTSSN,CLTSEX FROM CLTMST WHERE CLTLST = @NameLast+'%' AND (cltbyr+'-'+cltbmm+'-'+cltbdd = @DOB)";
}
}
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
}
}
}
Я думаю, что нам нужно для выполнения команды. –
Вы пытались использовать отладчик? Похоже, что, например, 'SqlDataSource1.SelectParameters.Add (« NameLast », SearchLast.ToString());' собирается добавить имя ТИПА (то есть текстовое поле) в параметр, а не текстовое значение текстового поля , – asawyer
Похож на неструктурированный беспорядок для меня. Вам нужно начать с выбора здания, а затем создать команду и выполнить –