在没有要插入的数据时阻止查询插入

     2023-05-08     141

关键词:

【中文标题】在没有要插入的数据时阻止查询插入【英文标题】:Prevent query insertion when there is no data to be inserted 【发布时间】:2012-09-05 05:12:42 【问题描述】:

我正在使用 C# 和 SQL Server CE,我的问题是:

    在我的 WinForms 应用程序中,我有几个要填充数据的文本框。我想知道在没有填充文本框的情况下如何防止插入时出现用户错误?

    如何判断文本框中何时没有数据用于查询插入?

这是我的代码:

koneksi.Open();
int query = perintahsql.ExecuteNonQuery();
try

    if (query > 0)
    
        MessageBox.Show("Success.");
    
    else
    
        MessageBox.Show("Can't insert record because of empty(s) field.");
        perintahsql.Cancel();
    

catch(Exception ex)

    MessageBox.Show(ex.ToString(), "Can't insert record!");
    perintahsql.Parameters.Clear();

koneksi.Close();

【问题讨论】:

你能检查你得到query返回值是> 0吗?您可以在插入文本框之前检查是否有值或也不 【参考方案1】:

在将数据插入数据库中之前,您需要为您运行的文本字段提供一种验证方法,因此您可以根据需要使用更多方法。例如:

Control Validation

writing your own validating routine

使用validation libraries

【讨论】:

【参考方案2】:

如果它适合您,请尝试此解决方案。

private bool ReadyToInsert()

    bool isOk = true;
    TextBox[] arrText = new TextBox[]  textBox1, textBox2, textBox3 ;

    foreach (TextBox i in arrText)
    
        if (i.Text.Trim().Length == 0)
        
            isOk = false;
        
    
    return isOk;

这是一个检查表单中所有文本框的函数。在尝试插入记录之前调用此函数。

用法:类似这样的

// other codes here
if (ReadyToInsert)

    // call insert method here

else

    MessageBox.Show("Can't insert record because of empty(s) field.");

【讨论】:

谢谢,我试过你的代码,但它仍然显示设置为自动递增的主键,你知道吗? 什么primary key?直到现在,您还没有在问题上指定这一点。你现在遇到了什么错误@RadityaKurnianto? 其实我有几个文本框和组合框,用户需要填写这些控件,但是当我尝试将其留空时,我设置为自动递增的主键值总是成功插入在查询中。

如何防止我的“插入”查询在 mariadb 中插入重复项?

】如何防止我的“插入”查询在mariadb中插入重复项?【英文标题】:HowdoIpreventmy\'insert\'queryfrominsertingduplicatesinmariadb?【发布时间】:2021-11-2309:18:15【问题描述】:我编写此代码是为了通过表单收集帖子信息并将其插入到我的数... 查看详情

在java连接的数据库中插入数据时如何避免重复信息~

求完整代码~那查询插入什么的怎么用函数将它们串在一起参考技术A很简单,在插入数据库之前,先查询一下信息在数据库中是否存在。如数据表(User)字段有:idnameage即将插入一条信息【1,“名字”,22】在插入数据之前,先sele... 查看详情

要插入timestamp类型的数据sql语句要怎么写呢?

...到Date类型,然后就可以往数据库中插入了不知道这样有没有回答你的问题?? 查看详情

java中,向mysql插入多条数据,如何判断如果某记录已经存在就不插入

...台判断!如果是查询数据库再循环匹配的话效率太低。有没有更好一点的方法!程序做。1、先检索已经有的数据。(第一次查询数据库,找到所有已存在记录)2、和要插入的数据做比较,找出新数据。3、插入新数据。不要每次... 查看详情

防止使用php插入查询

...库时​​出现任何错误的爆炸)。我的问题是,如果用户没有在第一个div内容字段中插入任​​何内容,我将不会进行插入,但它仍然会这 查看详情

将记录插入 Access 数据库

...码,它声称已将记录插入数据库,但是当我检查数据库时没有新记录的迹象。oleDbCommandCreate 查看详情

使用 jsonb 数据类型的 PostgreSQL 插入查询

...所示:然后,当我对这个表执行下面的INSERT查询时,查询没有被执行!INSERTINTOPRODUCTVALUES(7,\'iPhone8\' 查看详情

HSQLDB:优先选择查询而不是插入查询

...处于活动状态。大部分是插入数据,少数是读取数据。有没有办法在选择查询运行时“暂停”插入查询?我读到在MySQL中曾经有一个名为INSERTDELAYED的功能,它确实做到了,但现在已弃用。我当前的 查看详情

mongodb数据库批量插入海量数据时为啥有少部分数据丢失

...相比HBase,Hbase对于海量数据的实时插入,更新,查询是没有压力的,而且操作的效率跟数据的量没有关系,即数据量的大小不会影响操作的效率,但是Hbase的实时查询是建立在针对rowkey的查询基础上的,因为Hbase只能对rowkey进行... 查看详情

有没有办法在插入操作时检查 Hive 表中插入了多少行?

】有没有办法在插入操作时检查Hive表中插入了多少行?【英文标题】:IsthereawaytocheckhowmanyrowsinsertedinHivetablewhileinsertingoperation?【发布时间】:2018-02-1021:10:37【问题描述】:在hive表中执行插入操作时,所有数据都正确插入,但我... 查看详情

有没有办法阻止内容可编辑的插入符号出现在 IE 10 中的元素上?

】有没有办法阻止内容可编辑的插入符号出现在IE10中的元素上?【英文标题】:Isthereawaytostopacontenteditable\'scaretfromappearingoverelementsinIE10?【发布时间】:2013-03-2521:21:34【问题描述】:IE10中似乎存在一个错误,如果我将一个元素放... 查看详情

408数据结构与算法—折半插入排序(十六)

...,依赖于对象的初始排列减少了比较次数,但是没有减少移动的次数平均性能优于直接插入排序 查看详情

批量插入不插入

...将“一批”数据插入Android应用程序的SQLITE数据库中。我没有收到任何错误,但是稍后尝试从该表中进行选择时,没有返回任何数据。该应用程序同时使用SQLServer和SQLITE,因为设备不会始终连接到网络,因此无法始终访问SQLServer... 查看详情

向视图中插入数据的注意事项

视图除了进行查询记录外,也可以利用视图进行插入、更新、删除记录的操作,减少对基表中信息的直接操作,提高了数据的安全性。在视图上使用INSERT语句添加数据时,要符合以下规则。(1)使用INSERT语句向数据表中插入数... 查看详情

pagehelper分页查询oracle数据插入mysql时数据量变少

...方法:select*fromproductlimitstart,count当起始页较小时,查询没有性能问题,我们分别看下从10,100,1000,10000开始分页的执行时间(每页取20条),如下:select*fromproductlimit10,200.016秒select*fromproductlimit100,200.016秒select*fromproductlimit1000,20... 查看详情

当我尝试执行超过 1 个查询时,循环在 OleDb 中插入数据中断

】当我尝试执行超过1个查询时,循环在OleDb中插入数据中断【英文标题】:LooptoinsertdatainOleDbbreakswhenItrytoexecutemorethan1query【发布时间】:2015-05-1414:19:43【问题描述】:我正在开发一个带有Access2002数据库(.mdb)和OleDb的小型离线C#应... 查看详情

b-树的插入查找删除

http://blog.163.com/zhoumhan_0351/blog/static/39954227200910231032917/前面讨论的查找都是内查询算法,被查询的数据都在内存。当查询的数据放在外存,用平衡二叉树作磁盘文件的索引组织时,若以结点为内外存交换的单位,则找到需要的关... 查看详情

想用sql语句实现:查询出在最近10分钟(或一段时间区间内)插入数据库某个表的所有数据。

...的不查询出来!如果答案满意,再加十分!谢谢了数据库没有这功能,除非你在这些表都加多一列,记录插入时的时间,select*fromwhere插入时间>当前时间-时间间隔,时间间隔也就是你所说的十分钟,这样就可以了!参考技术A2... 查看详情