C# 从数据库中获取项目列表,该列表在MVC中用逗号分隔每个记录?
要通过列表框(Multiselect)存储到数据库中,请参阅以下链接 在这里,此链接实际上会提醒messagebox列表框中列出的项目 正如上面提到的链接。。。我将水果的数据存储在多个项目的逗号中,如C# 从数据库中获取项目列表,该列表在MVC中用逗号分隔每个记录?,c#,mysql,asp.net-mvc,ado.net,C#,Mysql,Asp.net Mvc,Ado.net,要通过列表框(Multiselect)存储到数据库中,请参阅以下链接 在这里,此链接实际上会提醒messagebox列表框中列出的项目 正如上面提到的链接。。。我将水果的数据存储在多个项目的逗号中,如 var items=string.Join(“,”,fruits.FruitsId.ToArray()) 下面的输出是 ID|水果|美孚利诺 1 | 1,5,4 | 9876543210 2 | 2,3,8 | 9876542103 但现在我实际上需要通过ado.net从文本框中输入的基于mob
var items=string.Join(“,”,fruits.FruitsId.ToArray()) 下面的输出是 ID|水果|美孚利诺
1 | 1,5,4 | 9876543210
2 | 2,3,8 | 9876542103 但现在我实际上需要通过ado.net从文本框中输入的基于mobileno的特定记录的数据库中获取数据,并通过表中的水果列表记录获取数据 这就是我如何使用ado.net将数据插入到水果表中的方法
public void Addfruits(Fruits bfitems)
{
try
{
connection();
var items = string.Join(",", bfitems.FruitsId.ToArray());
string insertText = "insert into FruitItems(Items,Mobileno)
VALUES (@Items,@Mobileno)";
MySqlCommand command = new MySqlCommand(insertText, con);
command.Parameters.AddWithValue("@Items", items);
command.Parameters.AddWithValue("@Mobileno", bfitems.Mobileno);
if (insertText != null)
{
con.Open();
command.ExecuteNonQuery();
}
}
catch (Exception ex)
{
}
finally
{
con.Close();
}
}
要获取记录
private static List<SelectListItem> GetFruits(Fruits bf)
{
List<SelectListItem> items = new List<SelectListItem>();
string constr =
ConfigurationManager.ConnectionStrings["orders"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(constr))
{
string query = " SELECT * FROM FruitItems where
Mobileno=@Mobileno";
MySqlCommand cmd = new MySqlCommand(query);
cmd.Parameters.AddWithValue("@Mobileno", bf.Mobileno);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
return items;
}
私有静态列表GetFruits(Fruits-bf)
{
列表项=新列表();
字符串结构=
ConfigurationManager.ConnectionString[“订单”]。ConnectionString;
使用(MySqlConnection con=newmysqlconnection(cont))
{
string query=“SELECT*FROM foultitems,其中
Mobileno=@Mobileno”;
MySqlCommand cmd=新的MySqlCommand(查询);
cmd.Parameters.AddWithValue(“@Mobileno”,bf.Mobileno);
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
退货项目;
}
执行查询执行您的查询并返回受查询影响的数字记录(插入/更新了多少行)。如果要从表中获取数据,应使用ExecuteReader
方法,该方法返回SqlDataReader
private static List<SelectListItem> GetFruits(Fruits bf)
{
var items = new List<SelectListItem>();
string constr = "Your connection string here";
using (var con = new SqlConnection(constr))
{
var query = " SELECT ID, Fruits FROM FruitItems where Mobileno=@Mobileno";
using (var cmd = new SqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@Mobileno", bf.Mobileno);
con.Open();
using (var reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
var item = new SelectListItem();
item.Value = reader.GetInt32(reader.GetOrdinal("Id")).ToString();
item.Text = reader.GetString(reader.GetOrdinal("Fruits"));
items.Add(item);
}
}
}
}
}
return items;
}
@model Orders.Models.Fruits
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
水果
@Html.ValidationSummary(true,“,new{@class=“text danger”})
@EditorFor(model=>model.Mobileno,new{htmlAttributes=new{@class=“form control”,@id=“txtmobno”,@Placeholder=“Mobile”})
@Html.ValidationMessageFor(model=>model.Mobileno,“,new{@class=“text danger”})
ItemsID
项目
@foreach(模型中的var项目)
{
@items.ItemsId
@项目,项目
}
}您尝试过SQL WHERE子句吗?是的,WHERE mobileno='9876543210',但我没有得到项目列表。。。特别的record@Shyju您可以发布您已经尝试获取记录的内容吗?我不确定为获取记录而编写的代码是否正确。请建议我找到解决方案。如何在视图中以表格格式获取记录?使用HTML表格呈现表格。在这种情况下,为什么要从代码中使用
SelectListItem
?创建一个类来表示你的数据并返回它。为什么我会得到这个错误。。。。。。传递到字典中的模型项的类型为“System.Collections.Generic.List`1[System.Web.Mvc.SelectListItem]”,但此字典需要类型为“Orders.Models.Fruits”的模型项。因为您的视图是水果对象列表的强类型,并且它需要。但是您的操作方法正在尝试传递SelectListItem对象的列表。传递正确的数据
if (!reader.IsDBNull(reader.GetOrdinal("Id")))
{
item.Value = reader.GetInt32(reader.GetOrdinal("Id")).ToString();
}
@model Orders.Models.Fruits
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h2>Fruits</h2>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
<div class="col-md-10">
@Html.EditorFor(model => model.Mobileno, new { htmlAttributes = new { @class = "form-control", @id = "txtmobno", @Placeholder = "Mobile" } })
@Html.ValidationMessageFor(model => model.Mobileno, "", new { @class = "text-danger" })
</div>
</div>
<table cellpadding="0" cellspacing="0">
<tr>
<th>ItemsID</th>
<th>Items</th>
</tr>
@foreach (var items in Model)
{
<tr>
<td>@items.ItemsId</td>
<td>@items.Items</td>
</tr>
}
</table>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Print" class="btn btn-default" />
</div>
</div>
</div>