如何通过选择日期删除烟斗 [英] How to delete a tuble by selecting a date

查看:83
本文介绍了如何通过选择日期删除烟斗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

有人可以帮我下面的代码.我想通过选择日期来删除数据库中的管道.

代码:

Hello

Can someone help me with the code below. I want to delete a tuble in the database by selecting a date.

Code:

public string DeleteWatchReceipt(DateTime date) 
        {
            OleDbConnection conn = new OleDbConnection("My DB path"));

            
            string sqlinsert = @"DELETE WatchreceiptID FROM Watchreceipt WHERE Dato = " + date;
            conn.Open();
            OleDbTransaction sqltrans = conn.BeginTransaction();
            
            string result = null;

            try
            {
                OleDbCommand cmdinsert = conn.CreateCommand();
                cmdinsert.CommandText = sqlinsert;
                cmdinsert.Transaction = sqltrans;

                cmdinsert.ExecuteNonQuery();
                sqltrans.Commit();

                result = "Ok";
            }
            catch (OleDbException odbe)
            {
                sqltrans.Rollback();
                System.Windows.Forms.MessageBox.Show("Rolled back\n" + odbe.Message);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Systemfejl\n" + ex.Message);
            }
            finally
            {
                conn.Close();
            }

            return result;
        }


谢谢

推荐答案

日期应加引号:
Date should be quoted :
string sqlinsert = @"DELETE WatchreceiptID FROM Watchreceipt WHERE Dato = '" + date + "'";
// preferably : date.ToString("yyyy-MM-dd");


感谢

代码应该是这样的

公共字符串DeleteWatchReceipt(DateTime日期)
{
OleDbConnection conn =新的OleDbConnection("My DB path"));


字符串sqlinsert = @从Watchreceipt中删除WatchreceiptID,Dato = @date";
conn.Open();
OleDbTransaction sqltrans = conn.BeginTransaction();
OleDbCommand cmdinsert = conn.CreateCommand();

cmdinsert.Parameters.AddWithValue("@ date",日期);

字符串结果= null;

试试
{

cmdinsert.CommandText = sqlinsert;
cmdinsert.Transaction = sqltrans;

cmdinsert.ExecuteNonQuery();
sqltrans.Commit();

结果=确定";
}
捕获(OleDbException odbe)
{
sqltrans.Rollback();
System.Windows.Forms.MessageBox.Show(回滚\ n" + odbe.Message);
}
catch(ex ex例外)
{
System.Windows.Forms.MessageBox.Show("Systemfejl \ n" + ex.Message);
}
终于
{
conn.Close();
}

返回结果;
}
Thanks

The code should be like that

public string DeleteWatchReceipt(DateTime date)
{
OleDbConnection conn = new OleDbConnection("My DB path"));


string sqlinsert = @"DELETE WatchreceiptID FROM Watchreceipt WHERE Dato = @date";
conn.Open();
OleDbTransaction sqltrans = conn.BeginTransaction();
OleDbCommand cmdinsert = conn.CreateCommand();

cmdinsert.Parameters.AddWithValue("@date", date);

string result = null;

try
{

cmdinsert.CommandText = sqlinsert;
cmdinsert.Transaction = sqltrans;

cmdinsert.ExecuteNonQuery();
sqltrans.Commit();

result = "Ok";
}
catch (OleDbException odbe)
{
sqltrans.Rollback();
System.Windows.Forms.MessageBox.Show("Rolled back\n" + odbe.Message);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show("Systemfejl\n" + ex.Message);
}
finally
{
conn.Close();
}

return result;
}


这篇关于如何通过选择日期删除烟斗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆