Ich versuche, die Daten in der Datenbank zu speichern, die aus Sicht übergeben, indem Sie Post verwenden. Ich bekomme keinen Fehler, aber es ist kein Wert in die Datenbank hinzufügen.MVC kann keine Daten in der Datenbank speichern
meine Json schauen ist wie
{
"Schedule Name": "name1",
"data1": "a3c1",
"data2": "a3c1",
"data3": "a3c1",
"data4": "a3c1",
"data5": "a3c1",
"data6": "a3c1",
"data7": "a3c1"
}
hier ist mein Controller
public class ScheduleController : Controller
{
DatabaseContext _db = new DatabaseContext();
public ActionResult schedule()
{
return View();
}
[HttpPost]
public ActionResult Addmore(string list1)
{
bool result = true;
newlist personData;
JavaScriptSerializer jss = new JavaScriptSerializer();
personData = jss.Deserialize<newlist>(list1);
savv(personData);
return Content(result.ToString());
}
public void savv(newlist nl)
{
if (ModelState.IsValid)
{
using (_db)
{
_db.Schedule.Add(nl);
_db.SaveChanges();
ModelState.Clear();
}
}
}
public class newlist
{
public string namIDs { get; set; }
public string aIDs { get; set; }
public string bIDs { get; set; }
public string cIDs { get; set; }
public string dIDs { get; set; }
public string eIDs { get; set; }
public string fIDs { get; set; }
public string gIDs { get; set; }
}
}
hier ist meine db
public class DatabaseContext : DbContext
{
public DatabaseContext()
: base("DefaultConnection")
{
}
public DbSet<ScheduleController.newlist> Schedule { get; set; }
}
hier ist mein Beitrag
table_content = JSON.stringify({ 'Schedule Name': def ,'data1':data1 ,'data2':data2,'data3':data3,'data4':data4,'data5':data5,'data6':data6,'data7':data7});
alert(table_content);
$.post(url1, {
jsonData: table_content
},
function (data, textStatus) {
alert(textStatus);
if (textStatus != "success") {
alert(textStatus);
}
});
der Text Status immer "Erfolg" zurück, aber kein Wert speichern in Datenbank Jeder kann mir helfen? Anythings Ich verpasse Code?
benutze ich nur einen anderen Weg, um den Wert in die Datenbank zu speichern
public ActionResult Addmore(newlist personData)
{
var data1 = "hello";
bool result = false;
try
{
con.Open();
//SqlCommand cmd = new SqlCommand("Insert INTO Sche values('" + personData.namIDs + "','" + personData.aIDs + "','" + personData.bIDs + "','" + personData.cIDs + "','" + personData.dIDs + "','" + personData.eIDs + "','" + personData.fIDs + "','" + personData.gIDs + "')", con);
SqlCommand cmd = new SqlCommand("INSERT INTO Sche VALUES('" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "','" + data1 + "')", con);
int i = cmd.ExecuteNonQuery();
con.Close();
if (i > 0) { result = true; }
}
catch (Exception e)
{
result = false;
}
return Content(result.ToString());
}
Aber es immer noch nicht funktioniert für mich
auch durch ich dies auf Code eingeben
SqlCommand cmd = new SqlCommand("INSERT INTO Sche VALUES(1,2,3,4,5,6,7,8)", con);
aber seine immer noch kein Hinzufügen zur Datenbank Dies ist kein Verbindungsfehler, da diese Befehlszeile
funktionieren kannZeichenfolge Abfrage = "SELECT * FROM Sche"; SqlCommand-Befehl = neuer SqlCommand (Abfrage, Verbindung);
Sie haben so viele Fehler, es ist schwer zu wissen, wo ich anfangen soll. Beginnen Sie mit der Änderung Ihrer Methode auf 'public ActionResult Addmore (newlist model)'. Verwenden Sie im Ajax 'data: {namIDs: 'abc', aIDs: 'def', cIDs: 'ghi', .... usw.}, d. H. Um den Modelleigenschaften zu entsprechen. Der Parameter 'model' wird mit den korrekten Werten gebunden, die Sie eingeben –