【问题标题】:I am not able to delete data from Datastore in Google App Engine for Java?我无法从 Google App Engine for Java 中的数据存储区中删除数据?
【发布时间】:2014-05-13 21:33:27
【问题描述】:

我已将密钥分配给我的数据存储中的每个实体。但是当我点击删除时,我无法删除它..请帮助我解决这个问题。

我在我的 SAFCServlet.java 类中创建了一个函数“deleteuser()”,我试图在尝试删除时调用它。我的函数是:

SAFCServlet.java
.............

public static void deleteuser(string name)
   {
    Key UserKey = KeyFactory.createKey("safc",name );
       System.out.println("the value od userkey is" +UserKey);
    ds.delete(UserKey);



   }

我从 Delete.java Servlet 调用的上述函数

Delete.java
..................

String key1=req.getParameter("key").toString();
PrintWriter out = resp.getWriter();
out.println("I m in delete");
System.out.println("the first key is "+key1);
SAFCServlet.deleteuser(key1);

当我点击删除时,上面的 Servlet“Delete.java”被调用,但我无法删除。请帮助我。上面函数中的“key1”是键(这个键是用户生成的而不是我的数据存储中每个条目的数据存储的内置密钥)

我的桌子是。例如:

KIND 是“safc”(表示表名)

键|标题(数据)|作者

78 |约翰|laxmi

99 |安迪 |ashish

我们可以在数据存储中创建任何这样的实体:

     Entity e = new Entity("safc");
     e.setParameter("username");
     e.setParameter("password"); 
     e.setParameter("Key"); 
     ds.put(e);

在尝试从数据存储中删除时,我的代码出现错误,我无法解决它。我使用的代码显示在上面的“Delete.java”servlet 和“SAFCServlet.java”中,我在某个地方找到了这个我正在尝试实现它。

【问题讨论】:

  • 如何创建实体?
  • 当你说你“无法删除”时,你是什么意思?您收到错误消息还是什么也没发生?
  • 嗨,我已经更新了我上面的问题。请看
  • @brian 无法删除,我有点担心 NullPointerException。

标签: java google-app-engine google-cloud-datastore


【解决方案1】:

您在 deleteuser() 函数中缺少数据存储 API 初始化

试试这个

Delete.java

   String key1=req.getParameter("key").toString();
   PrintWriter out = resp.getWriter();
   out.println("I m in delete");
   System.out.println("the first key is "+key1);

   Datastore ds= DatastoreServiceFactory.getDatastoreService();
   Key UserKey = KeyFactory.createKey("safc",key1 );
   System.out.println("the value od userkey is" +UserKey);
   ds.delete(UserKey);

【讨论】:

  • 我无法在“delete.java”Servlet 中调用“deleteuser()”函数。 “SAFCServlet.deleteuser(key1); 行不工作。请帮助
  • 两个文件在同一个包里?发布您遇到的确切错误。
  • 现在我没有收到任何错误,但我仍然无法从数据存储中删除数据。请告诉我删除方法。
  • 尝试在 delete.java 文件中删除它。查看上面编辑后的答案。
  • no.sachin 我之前也试过了,它显示 NullPointerException。我想我们错过了一些东西。
【解决方案2】:
String key1=req.getParameter("key");

Datastore ds= DatastoreServiceFactory.getDatastoreService();
Key UserKey = KeyFactory.createKey("safc",key1 ); // Key key = KeyFactory.createKey("KIND",ID);
ds.delete(UserKey); //delete(key)

【讨论】:

    猜你喜欢
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2011-02-16
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    相关资源
    最近更新 更多