asp.net的sql问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net的sql问题相关的知识,希望对你有一定的参考价值。
select *from abc where a="textbox1.text" and b="textbox2.text"
这是有关查询的语句,如果textbox1有写东西,textbox2没有写东西。这样就查询不出来了,因为b=“”。怎么样才能设置textbox没有写东西的时候,显示相对这个列的全部信息。或者怎么改才能达到这个效果。
string strWhere="";
if(textbox1.text!=null&&textbox1.text!="")
strWhere+=" a="+textbox1.text;
if(textbox2.text!=null&&textbox2.text!="")
strWhere+=" b="+textbox2.text;
string sql="select *from abc where "+strWhere 参考技术A 判断一下即可,代码如下:
string sql="select *from abc where 1=1";
if(textbox1.text!="")
sql +=" and a="+textbox1.text+"";
if(textbox2.text!="")
sql +=" and b="+textbox2.text+"";
接下来再操作sql... 参考技术B select *from abc where a="textbox1.text" and b not null 参考技术C 都是高手那!
根据 ASP.net 中的模型值动态编辑 SQL 查询
【中文标题】根据 ASP.net 中的模型值动态编辑 SQL 查询【英文标题】:Dynamically edit SQL Query based off of model value in ASP.net 【发布时间】:2021-09-30 20:03:57 【问题描述】:我正在使用 ASP.net 和 SQL 查询。在 SQL 中,我有类似于这些的表,名为 Departments 和 SubDepartments
DepartmentID | DepartmentName |
---|---|
1 | Department1 |
2 | Department2 |
SubDepartmentID | SubDepartmentName | DepartmentID |
---|---|---|
1 | SubDepartment1 | 2 |
2 | SubDepartment2 | 2 |
3 | SubDepartment3 | 1 |
在 asp.net 中,我需要运行类似于此的查询
SELECT SubDepartmentID FROM SubDepartments WHERE DepartmentID = '2'
这会给我结果
SubDepartmentID |
---|
1 |
2 |
但是,我需要像这样动态地执行此操作
SELECT SubDepartmentID FROM SubDepartments WHERE DepartmentID = '*Dynamic Value*'
在我看来,动态值是根据模型的下拉值给出的。
我尝试过在 asp.net 中查看动态编辑 SQL 查询的不同方法,但似乎没有什么对我有用。
我的目标最终是有一个部门ddl,子部门ddl,机器ddl,设备ddl,然后是问题ddl。我最终需要一个查询来读取所有这些值并仅返回属于所选部门、子部门、机器和设备的问题。只是完成部门和子部门之间的连接应该足以弄清楚如何做到这一点。
编辑: 到目前为止我的视图代码是这样的
<script src="~/Scripts/jquery/jquery-3.3.1.min.js"></script>
<script src="~/Scripts/jquery/bootstrap.min.js"></script>
<script type="text/jscript">
$(function ()
$("#Departmentddl").change(function ()
alert($('option:selected').val());
);
);
</script>
<div class="form-group" id="Departmentddl">
<label asp-for="DepartmentId" class="control-label"></label>
<select asp-for="DepartmentId" class="form-control" asp-items="ViewBag.DepartmentId"></select>
</div>
<div class="container" id="SubDepartmentddlOther">
<div class="form-group" id="SubDepartmentddl">
<label asp-for="SubDepartmentId" class="control-label"></label>
<select asp-for="SubDepartmentId" class="form-control" asp-items="ViewBag.SubDepartment"></select>
</div>
</div>
注意:ViewBag.Department 有效,但 ViewBag.SubDepartment 没有值。
我还应该补充一点,我的控制器名为“RecordEntriesController”
再次编辑:
我现在正在使用它来尝试填写下拉列表。它正在工作,但没有使用我的变量 NumberValue 和 NameLabel。我如何使这些正确?这是我的 JSON,下面是 jscript。我在控制器中创建了 JSON,因此如果格式不正确,可以对其进行更改。
"NumberValue":"5","NameLabel":"SubDepartment1","NumberValue":"8","NameLabel":"SubDepartment2"
<script type="text/jscript">
$(function ()
$("#ddlDepartments").change(function ()
var selectedid = $('option:selected').val();
if (selectedid > 0)
$.ajax(
url: "/RecordEntries/PopulateddlSubDepartments",
data:
id: selectedid
,
type: "Post",
dataType: "json",
success: function (data)
alert(data);
var ddldist = $('#ddlSubDepartments');
$.each(data, function (NumberValue, NameLabel)
ddldist.append(
$('<option></option>').val(NumberValue).html(NameLabel)
);
);
,
);
);
);
</script>
【问题讨论】:
您使用什么技术与数据库通信?是asp mvc吗? @MeysamaAsadi 是的,我正在使用 MVC 你的问题不清楚,是用entityframework还是ado? 实体框架。抱歉,这是我的第一个项目,我什至不知道其中的一些含义。我正在使用 MVC 控制器和使用实体框架的视图。如果有区别的话,它也是 asp.net Core。 你先做代码还是先做模型? 【参考方案1】:把脚本改成这个:
将url:"/Home/GetDropDownList"
替换为您的控制器和操作的名称
<script type="text/jscript">
$(function()
$("#Departmentddl").change(function()
var selectedid = $('option:selected').val();
if (selectedid > 0)
$.ajax(
url: "/Home/GetDropDownList",
data:
id: selectedid
,
type: "Post",
dataType: "Json",
success: function(result)
alert(result);
,
error: function()
);
);
);
</script>
在你的控制器中
[HttpPost]
public IActionResult GetDropDownList(int id)
// do work
return Json("success", JsonRequestBehavior.AllowGet);
【讨论】:
无法识别 JsonRequestBehavior。我尝试添加using System.Web.Mvc
,但这会给我的控制器的其余部分添加很多错误。还有其他方法可以添加参考吗?我不能为System.Web.Mvc
使用正确的框架@
使用 return Ok("success") 或使用 return new JsonResult("success");
我知道我真的不擅长这个哈哈。无论如何,我一直在努力实现这一点,只是一直卡住。我曾尝试使用原始 sql,但后来遇到了将其转换为 JSON 的问题。我想我可能实际上不必使用 JSON 将数据传回视图。我可以只使用 ViewData 或 ViewBag,只要我可以在其中使用 where 子句,我还没有弄清楚。以上是关于asp.net的sql问题的主要内容,如果未能解决你的问题,请参考以下文章