Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果在c中按名称搜索,如何从表中选择行?_C#_Mysql - Fatal编程技术网

C# 如果在c中按名称搜索,如何从表中选择行?

C# 如果在c中按名称搜索,如何从表中选择行?,c#,mysql,C#,Mysql,这是我的输出页面的屏幕截图 我已经创建了一个包含的下拉列表,1.以2.以2.结束,3.包含 我需要根据上述条件搜索记录 我已经创建了学生表,它有名字,班级,部门,地址,图片和课外活动 现在我需要搜索记录的基础上,如果名称包含,以开始和结束 例如,如果我在下拉列表中选择“以开头”,并在文本框中键入S。它应该显示记录名称以S开头的记录 那我该怎么办,?有人能指引我吗 任何帮助都将不胜感激 谢谢 搜索记录的代码\u单击: SqlCommand com = new SqlCommand("sp_sear

这是我的输出页面的屏幕截图

我已经创建了一个包含的下拉列表,1.以2.以2.结束,3.包含

我需要根据上述条件搜索记录

我已经创建了学生表,它有名字,班级,部门,地址,图片和课外活动

现在我需要搜索记录的基础上,如果名称包含,以开始和结束

例如,如果我在下拉列表中选择“以开头”,并在文本框中键入S。它应该显示记录名称以S开头的记录

那我该怎么办,?有人能指引我吗

任何帮助都将不胜感激

谢谢

搜索记录的代码\u单击:

SqlCommand com = new SqlCommand("sp_searchedstudentrecords", con);
                com.CommandType = CommandType.StoredProcedure;
                SqlParameter retval = new SqlParameter("@condition", SqlDbType.VarChar, 20);
                SqlParameter retval1 = new SqlParameter("@searchtext", SqlDbType.VarChar, 50);
                retval.Direction = ParameterDirection.ReturnValue;
                com.Parameters.Add(retval);                
                string ReturnValue = retval.Value.ToString();
                SqlDataAdapter adp = new SqlDataAdapter(com);
                DataSet ds = new DataSet();
                adp.Fill(ds);
                tblid.Visible = true;
                com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
                com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
                com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
                com.Parameters.AddWithValue("@Address", Textaddress.Text.Trim());
                com.Parameters.AddWithValue("@Email", Textemail.Text.Trim());
                com.Parameters.AddWithValue("@Mobilenum", Textmobilenum.Text.Trim());
                com.Parameters.AddWithValue("@EC_id", Textcurricular.SelectedValue);
com.ExecuteNonQuery();
我把写存储过程弄糊涂了。

您的查询必须是:

首先:

select name, section, class from students where name like @variable+'%'
对于包含

select name, section, class from students where name like '%'+@variable+'%'

select name, section, class from students where name like '%'+@variable
这三个查询必须写入存储过程中的IF-ELSE中。

您的查询必须是:

首先:

select name, section, class from students where name like @variable+'%'
对于包含

select name, section, class from students where name like '%'+@variable+'%'

select name, section, class from students where name like '%'+@variable
这三个查询必须写入存储过程中的IF-ELSE中。

试试这个

CREATE PROCEDURE sp_searchedstudentrecords
@condition varchar(20),
@searchText varchar(10)
AS
if(@condition ='STARTS WITH')
SELECT * from tblStudents where NAME like @searchText+'%'
else if(@condition='Ends with')
SELECT * from tblStudents where NAME like '%'+@searchText
else
SELECT * from tblStudents where NAME like '%'+@searchText+'%'
下面是如何调用它并将其绑定到gridview

MySqlCommand com = new MySqlCommand("sp_searchedstudentrecords", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@condition",condition);
com.Parameters.AddWithValue("@searchtext",searchtext);                
MySqlDataAdapter adp = new MySqlDataAdapter(com);
DataSet ds = new DataSet();
adp.Fill(ds);
grdStudent.DataSource=ds.Tables[0];
grdStudent.DataBind();
您需要从调用此方法的位置传递条件和searchtext

另外,您正在使用mysql,因此需要使用MySqlCommand和MySqlDataAdapter,而不是SqlCommand和SqlDataAdapter。

试试这个

CREATE PROCEDURE sp_searchedstudentrecords
@condition varchar(20),
@searchText varchar(10)
AS
if(@condition ='STARTS WITH')
SELECT * from tblStudents where NAME like @searchText+'%'
else if(@condition='Ends with')
SELECT * from tblStudents where NAME like '%'+@searchText
else
SELECT * from tblStudents where NAME like '%'+@searchText+'%'
下面是如何调用它并将其绑定到gridview

MySqlCommand com = new MySqlCommand("sp_searchedstudentrecords", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@condition",condition);
com.Parameters.AddWithValue("@searchtext",searchtext);                
MySqlDataAdapter adp = new MySqlDataAdapter(com);
DataSet ds = new DataSet();
adp.Fill(ds);
grdStudent.DataSource=ds.Tables[0];
grdStudent.DataBind();
您需要从调用此方法的位置传递条件和searchtext


此外,您正在使用mysql,因此需要使用MySqlCommand和MySqlDataAdapter,而不是SqlCommand和SqlDataAdapter。

SDD Stackoveflow驱动开发?SDD Stackoveflow驱动开发?如何在搜索中调用这两个参数?谢谢,我更新了我的帖子。但我不确定这是否正确。。你能帮帮我吗,thanks@condition没有提供。。我可以知道,你的代码中的用户名是什么吗?让我们来看看。所以..没有必要写@name,@class…?我如何在搜索中调用这两个参数?谢谢,我更新了我的帖子。但我不确定这是否正确。。你能帮帮我吗,thanks@condition没有提供。。我可以知道,你的代码中的用户名是什么吗?让我们来看看。所以..没有必要写@name,@class。。。?