Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MySQL数据库的WebService_C#_Mysql_Web Services_Xamarin - Fatal编程技术网

C# MySQL数据库的WebService

C# MySQL数据库的WebService,c#,mysql,web-services,xamarin,C#,Mysql,Web Services,Xamarin,我想创建一个与我的MySQL数据库通信的Web服务,数据库的数据稍后应该显示在Xamarin应用程序上。但一开始,我在我的Web服务中遇到了一个问题,我真的不知道如何进一步(我对编程和MySQL有点陌生)。下面是我的一段代码(代码来自personPersistance类): 我将本教程用于我的Web服务: 在我使用savePerson函数之前,一切都会正常工作。在我的数据库中,我手动插入ID,在教程中,它会自动插入(我想)。所以,我的问题是,我真的不知道如何在这一点上继续下去 以下是我的数据库列

我想创建一个与我的MySQL数据库通信的Web服务,数据库的数据稍后应该显示在Xamarin应用程序上。但一开始,我在我的Web服务中遇到了一个问题,我真的不知道如何进一步(我对编程和MySQL有点陌生)。下面是我的一段代码(代码来自personPersistance类):

我将本教程用于我的Web服务:

在我使用savePerson函数之前,一切都会正常工作。在我的数据库中,我手动插入ID,在教程中,它会自动插入(我想)。所以,我的问题是,我真的不知道如何在这一点上继续下去

以下是我的数据库列的图片,可能会有所帮助:


提前谢谢

您可以在创建表时使用自动增量,这样在插入数据时就不需要为每一行提供Id。 基于

您可以这样创建表:

CREATE TABLE Personnel (
     Id MEDIUMINT NOT NULL AUTO_INCREMENT,
     Firstname varchar(30),
     Lastname varchar(30),
     PRIMARY KEY (id)
);
现在,您可以提供Firstname和Lastname,数据库将处理Id列

注意,在您的表中,您允许Id为NULL,但这是错误的。您永远不允许Id列为NULL,因为它是标识符,并且行上的大多数操作都依赖于Id列

正如我在评论中提到的,在插入数据时使用SQL参数,以防止SQL注入。
希望它有帮助。

在继续之前,考虑使用SQL参数来防止SQL注入。如果我不想让用户登录,只想在应用程序上显示数据,我还需要sql参数吗?即使在显示数据时,你的应用程序也会有风险。阅读我提供的链接。无论如何,始终使用参数化查询是一种很好的做法。显示数据的示例:
“从[Users]中选择*,其中UserId=“+UserId
想象一下在提供Id之后插入这一行:
DROP TABLE[Users]所以用户表将消失:)好的,谢谢。在我这样做之后,我应该如何继续解决上面提到的问题(对不起,我对编程和MySQL有点陌生,所以我的问题可能有点糟糕)。这取决于您的表,但大多数情况下,您的表将具有唯一的Id值,并且具有自动递增功能,因此您不需要为行提供Id,但数据库将创建该Id并将其添加到新插入的行中。请注意,ID列不应为空。同意ID不应被允许为0,这有点愚蠢的错误。不过,谢谢你的帮助@SpaceX_粉丝如果你解决了这个问题,请在这个答案上标出,这将帮助其他有类似问题的人。谢谢你们的努力帮助了我很多!
CREATE TABLE Personnel (
     Id MEDIUMINT NOT NULL AUTO_INCREMENT,
     Firstname varchar(30),
     Lastname varchar(30),
     PRIMARY KEY (id)
);