반응형
C#을 사용하여 데이터베이스에 데이터를 삽입할 때 오류 발생
데이터베이스에 줄을 삽입하려고 하면 다음 오류가 표시됩니다.
코드는 다음과 같습니다.
try
{
DateTime date = new DateTime(2018, 02, 15, 07, 06, 00);
using (OdbcConnection con = new OdbcConnection(Properties.Settings.Default.ConnectionString))
{
OdbcCommand cmd = new OdbcCommand("INSERT INTO Kassatickets (id, datum, korting, totaal) VALUES 3, '2018-02-15 07:06:00', " + kt.KortingId + ", " + kt.Totaal, con);
con.Open();
if (cmd.ExecuteNonQuery() == 0)
{
throw new Exception("Er zijn geen wijzigingen uitgevoerd!!");
}
}
}
catch (Exception e)
{
throw e;
}
처음에는 날짜 형식이 문제인 줄 알았는데, phpmyadmin을 통해 이 줄을 직접 데이터베이스에 삽입하면 문제가 없습니다.
아마 쉽게 해결할 수 있을 거예요 하지만 문제를 찾을 수가 없어요
매개 변수화된 쿼리 강조:
방법 1:
using (OdbcConnection con = new OdbcConnection(Properties.Settings.Default.ConnectionString))
{
var query ="INSERT INTO Kassatickets (id, datum, korting, totaal) VALUES (?, ?, ?, ?)";
OdbcCommand cmd = new OdbcCommand(query, con);
cmd.Parameters.Add("id", OdbcType.UniqueIdentifier).Value = 3;
cmd.Parameters.Add("datum", OdbcType.VarChar).Value = "2018-02-15 07:06:00";
cmd.Parameters.Add("korting", OdbcType.VarChar).Value = kt.KortingId;
cmd.Parameters.Add("totaal", OdbcType.VarChar).Value = kt.Totaal;
con.Open();
if (cmd.ExecuteNonQuery() == 0)
{
throw new Exception("Er zijn geen wijzigingen uitgevoerd!!");
}
}
방법 2:.
using (OdbcConnection con = new OdbcConnection(Properties.Settings.Default.ConnectionString))
{
var query = "INSERT INTO Kassatickets (id, datum, korting, totaal) VALUES (@id, @datum, @korting, @totaal)";
OdbcCommand cmd = new OdbcCommand(query, con);
cmd.Parameters.AddWithValue("@id", 3);
cmd.Parameters.AddWithValue("@datum", "2018-02-15 07:06:00");
cmd.Parameters.AddWithValue("@korting", kt.KortingId);
cmd.Parameters.AddWithValue("@totaal", kt.Totaal);
con.Open();
if (cmd.ExecuteNonQuery() == 0)
{
throw new Exception("Er zijn geen wijzigingen uitgevoerd!!");
}
}
언급URL : https://stackoverflow.com/questions/48813248/error-when-inserting-data-into-database-with-c-sharp
반응형
'source' 카테고리의 다른 글
stash@{1}이(가) 모호합니까? (0) | 2023.08.12 |
---|---|
addClass - 동일한 div에 여러 클래스를 추가할 수 있습니까? (0) | 2023.08.12 |
__setstate_ 및 __getstate_의 간단한 사용 예 (0) | 2023.08.12 |
jQuery를 사용하여 DIV에서 높이 스타일을 제거하려면 어떻게 해야 합니까? (0) | 2023.08.12 |
HTML에서 공백 없이 긴 줄을 감싸는 방법은 무엇입니까? (0) | 2023.08.12 |