C# sql模糊查询

            //构造连接字符串
            SqlConnectionStringBuilder connStr = new()
            {

                //link = @"Data Source=DESKTOP-MMDJ5RH\KINGX;Initial Catalog=金享加速器;Integrated Security=True";
                DataSource = "服务器名称",//服务器名称
                InitialCatalog = "数据库名称",//数据库名称
                UserID = "sa",
                Password = "123456"
            };

            //连接数据库
            SqlConnection connOpen = new()
            {
                ConnectionString = connStr.ConnectionString
            };

            //打开数据库的连接
            connOpen.Open();

            //构造命令对象
            SqlCommand cmd = new();

            //指定连接对象
            cmd.Connection = connOpen;

 

写到这里我就不知道应该如何写了,不如说我想要模糊查询User这个表里面UserNmae下面包含“叶”字的所有数据,我应该如何写代码?以及执行完SQL语句后,我应该如何将它打印出来。

 

cmd.CommandText="SELECTED * FROM User WHERE UserName LIKE '%叶%'";

SqlDataReader sr= cmd.ExecuteReader();

sr.Read();

生成SQL语句:

 

cmd.CommandText = "select * from [user] where username like '叶%'";
            SqlDataReader reader = cmd.ExecuteReader();
            
            while (reader.Read())
            {
                Object[] values = new Object[reader.FieldCount];
                int nCount = reader.GetValues(values);
                for (int i = 0; i != nCount; ++i)
                    //输出values[i]的值就可以了。
            }

生成SQL语句:

select  * from user where username like ‘叶%’
然后执行。

这是我的表。

 

            cmd.CommandText = "select * from [user] where username like '叶%'";
            SqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                Object[] values = new Object[reader.FieldCount];
                int nCount = reader.GetValues(values);

                for (int i = 0; i != nCount; ++i)
                {
                    //输出values[i]的值就可以了。
                    MessageBox.Show("values:  " + values[1]);
                }
            }
 

执行下面的代码后,show出来的是我Password里面的内容,而且一个密码还是show两次。

我是想要将UserName里面包含“叶”字的姓名全部查询出来,不是想要查询他们的密码,还有就是为什么会show2次?

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y