目前我正在做一个关于 C# 和 SQL 的项目,我有一个关于 SELECT 函数的问题,我在网上找不到任何解决方案。
该场景是关于通过 SQL 服务器从 C# 搜索查询并将结果显示在 C# 的数据 GridView 中。
我正在使用 Visual Studio 2008 和 SQL Server Studio 2008。
在开始该项目之前,我刚刚从 Visual Studio 快速创建了一个 Windows 窗体,并创建了一个数据 GridView 、2 个文本框和一个搜索按钮。
在 SQL Server 中,我有一个带有表 DVD 的数据库,我想从这个带有 DVD ID 和名称的 Windows 表单中进行搜索。
我从 DVD ID 开始并实现了这段代码:
private void btnView_Click(object sender, EventArgs e)
{
SqlConnection c = new SqlConnection(@"Data Source=GILBERTB-PC\SQLEXPRESS;Initial Catalog=DVDandGameBooking;Integrated Security=True");
DataTable t = new DataTable();
string sqlString = "SELECT * From DVD where Id ='" + txtID.Text+ "'";
SqlDataAdapter dt = new SqlDataAdapter(sqlString, c);
dt.Fill(t);
dtgv1.DataSource = t;
}
它成功了:)
然后我把代码改成了
string sqlString = "SELECT * From DVD where Name ='" + txtName.Text+ "'";
这样我就可以使用 DVD 的名称进行搜索但是当我启动程序并使用名称进行搜索时它只显示一个空白数据库
还有什么方法可以更改代码,以便我可以使用 ID 或名称进行搜索?
感谢您的帮助和时间
最佳答案
想法:
- 确保 txtName.Text 有值
- 尝试使用 Enterprise Manager、Toad 或其他查询工具进行 SQL 选择。你得到了什么?
- 尝试使用 LIKE 作为下面的例子
- 最坏的情况,也许检查表的排序规则,也许它设置为“区分大小写”文本匹配。
身份证和姓名:
SELECT * FROM DVD
WHERE Id=[ID Value]
OR Name LIKE '%[Name Value]%'
关于C# 和 SQL 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10826181/