.NET Core 2.1 Identity 获取所有用户及其关联angular色

我正在尝试为用户管理管理页面提取所有身份用户及其相关angular色。https://stackoverflow.com/a/43562544/5392786但到目前为止还没有成功。 这是我到目前为止所拥有的: ApplicationUser: public class ApplicationUser : IdentityUser { public List<IdentityUserRole<string>> Roles { get; set; } } DBContext public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } } Startup Identity code services.AddIdentity<ApplicationUser, IdentityRole>(options => options.Stores.MaxLengthForKeys = 128) .AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); Razor Page where I want to display the list: public class IndexModel : PageModel { private readonly UserManager<ApplicationUser> userManager; public IndexModel(UserManager<ApplicationUser> userManager) { this.userManager = userManager; } public IEnumerable<ApplicationUser> Users { get; set; } public void OnGetAsync() { this....

'0000-00-00 00:00:00' 无法表示为 java.sql.Timestamp 错误

我有一个包含日期的数据库表 (`date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'). 我正在使用MySQL。0000-00-00 00:00:00当使用日期列调用表数据时,会出现错误 ...'0000-00-00 00:00:00' can not be represented as java.sql.Timestamp....... 我尝试在插入数据时将空值传递给日期,但它被分配给当前时间。 有什么办法可以让我得到ResultSet不改变表结构? 答案 您可以直接在数据源配置中使用此 JDBC URL: jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull 来自: stackoverflow.com

'警告:mysql_fetch_array()期望参数1是资源,在...中给出布尔值,但我的查询是正确的

好的,所以我知道关于"为什么我用 mysql_fetch_array 收到此警告…“的问题已被问过多次,我的问题是所有接受的答案都表明服务器发出此警告的原因是因为查询本身 这是以下代码: $dbhost = "host"; $dbuser = "user"; $dbpass = "pass"; $dbname= "db"; $conn = mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname) or die ('<META HTTP-EQUIV="Refresh" CONTENT="0;URL=Failed.php?dberror=1">'); $token = mysql_escape_string($_GET['token']); $query = "SELECT * FROM newuser WHERE token='$token'"; $result = mysql_query($query) or die(mysql_error()); while($row=mysql_fetch_array($result)) { do stuff... } " while"语句中的所有内容都很好地执行 - 它可以对DB进行一些更改,我可以验证的情况正在发生。更重要的是,查询永远不会吐出任何错误细节。我尝试过测试$ result === false并要求提供错误信息的情况,但它也不会返回任何内容。据我所知,查询字符串很好,并且没有失败。 我在这里做错了什么?除了SQL语句外,PHP不喜欢我的while参数的其他原因是否不喜欢我的while参数(这再次,我坚信这还不错)? 另外,我知道我应该使用mysqli/pdo ….我打算在不久的将来切换到它,但是我只是试图做这项工作,我不知道为什么会赢了’t。在这一点上,这更多是个人的事情… 感谢您的帮助,让我知道您是否需要任何其他信息。(PHP版本5.3) 这是查询字符串($ query)的回声: SELECT * FROM newuser WHERE token='6e194f2db1223015f404e92d35265a1b' 这是查询结果的var_dump($结果):类型的资源(3)(mysql结果) 答案 $query = "SELECT * FROM newuser WHERE token='$token'"; $result = mysql_query($query) or die(mysql_error()); while($row=mysql_fetch_array($result)) { do stuff....

'喜欢('%this%'或'%that%')和某物=其他'不起作用

我有一个选择的查询,我想在其中搜索字符串以获取多种模式 LIKE ('%this%' or '%that%' ) and something=else 返回零结果 然而 LIKE '%this%' and something=else 返回结果 LIKE '%that%' and something=else 返回结果 是否有可能将我的所有结果纳入一个查询?如果一个弦匹配,它将如何处理? 答案 如果可以的话,那会很好,但是您不能在SQL中使用该语法。 尝试这个: (column1 LIKE '%this%' OR column1 LIKE '%that%') AND something = else 注意托架的使用!您需要它们周围OR表达。 没有括号,它将被解析为A OR (B AND C),这不会给您期望的结果。 来自: stackoverflow.com

“ create_date”时间戳字段的无效默认值

我有以下SQL创建语句 mysql> CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( -> `id` INT(11) NOT NULL AUTO_INCREMENT , -> `name` VARCHAR(100) NOT NULL , -> `description` VARCHAR(255) NOT NULL , -> `live_start_date` DATETIME NULL DEFAULT NULL , -> `live_end_date` DATETIME NULL DEFAULT NULL , -> `notes` VARCHAR(255) NULL , -> `create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', -> `created_by` INT(11) NOT NULL , -> `update_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , -> `updated_by` INT(11) NOT NULL , -> `status` VARCHAR(45) NOT NULL , -> PRIMARY KEY (`id`) ) -> ENGINE = InnoDB; 给出以下错误...

“ dateadded'的无效默认值”

我对SQL遇到了一个愚蠢的问题,我无法解决。 ALTER TABLE `news` ADD `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT , ADD PRIMARY KEY ( `dateAdded` ) 错误: (#1067)Invalid default value for 'dateAdded' 有人可以帮我吗? 答案 CURRENT_TIMESTAMP仅可接受TIMESTAMP字段。DATETIME必须将字段留为默认值,或者根本没有默认值 - 默认值必须是恒定值,而不是表达式的结果。 相关文档:http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html 您可以通过在表上设置插入后触发器来填写任何新记录的"现在"价值来解决此问题。 来自: stackoverflow.com

“'字段列表中的未知列'”,但确实存在列

DROP TABLE IF EXISTS `transactions`; CREATE TABLE `transactions` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `purchase_date` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `transactions` (`purchase_date`) VALUES (NULL) 我已经在此代码中隔离了我的问题。当我运行它时,我会发现错误: [查询3中的错误]未知列’publy_date’in’field列表' 有人一个主意吗? 答案 有一个不可打印的字符30(记录分隔符)purchase_date和'在里面INSERT陈述。只需删除文字('purchase_date')并用手重写应该没问题。 来自: stackoverflow.com

“SQLSTATE[23000]:违反完整性约束”,具有有效约束

我正在使用 Symfony 2 和 Doctrine。 我有 4 个班级:国家、地区、县和地方。 问题是,当插入一个县(使用数据装置)时,我收到错误 SQLSTATE[23000]: Integrity constraint violation: 我转储 SQL 来创建表和约束并得到以下结果: CREATE TABLE Country (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, insertedAt DATETIME NOT NULL, flag LONGTEXT DEFAULT NULL COMMENT '(DC2Type:object)', PRIMARY KEY(id)) ENGINE = InnoDB; CREATE TABLE County (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, insertedAt DATETIME NOT NULL, insertedBy INT NOT NULL, idDistrict INT NOT NULL, INDEX IDX_5F4EFA13438082DC (insertedBy), INDEX IDX_5F4EFA1362627EDC (idDistrict), PRIMARY KEY(id)) ENGINE = InnoDB; CREATE TABLE District (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, insertedAt DATETIME NOT NULL, insertedBy INT NOT NULL, idCountry INT NOT NULL, INDEX IDX_C8B736D1438082DC (insertedBy), INDEX IDX_C8B736D143CAA294 (idCountry), PRIMARY KEY(id)) ENGINE = InnoDB; CREATE TABLE LOCAL (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, insertedAt DATETIME NOT NULL, insertedBy INT NOT NULL, idCounty INT NOT NULL, INDEX IDX_4A17A7EC438082DC (insertedBy), INDEX IDX_4A17A7EC3BF357BF (idCounty), PRIMARY KEY(id)) ENGINE = InnoDB; ALTER TABLE County ADD CONSTRAINT FK_5F4EFA13438082DC FOREIGN KEY (insertedBy) REFERENCES Account(id); ALTER TABLE County ADD CONSTRAINT FK_5F4EFA1362627EDC FOREIGN KEY (idDistrict) REFERENCES District(id); ALTER TABLE District ADD CONSTRAINT FK_C8B736D1438082DC FOREIGN KEY (insertedBy) REFERENCES Account(id); ALTER TABLE District ADD CONSTRAINT FK_C8B736D143CAA294 FOREIGN KEY (idCountry) REFERENCES Country(id); ALTER TABLE LOCAL ADD CONSTRAINT FK_4A17A7EC438082DC FOREIGN KEY (insertedBy) REFERENCES Account(id); ALTER TABLE LOCAL ADD CONSTRAINT FK_4A17A7EC3BF357BF FOREIGN KEY (idCounty) REFERENCES County(id); 问题不在于 DataFixture 本身,因为我尝试使用 PhpMyAdmin 插入一个县并得到了相同的错误。...

“表不支持优化,而是重新创建分析”是什么意思?

我正在研究 MySQL 5.5 并尝试使用OPTIMIZE TABLE询问。 表不支持优化,改为重新创建分析 这是什么意思? 答案 这确实是一条信息性消息。 很可能,您正在进行 OPTIMIZE数据库表(使用InnoDB存储引擎的表,而不是MyISAM存储引擎)。 InnoDB 不像 MyISAM 那样支持 OPTIMIZE。 您收到的消息基本上是 MySQL 服务器重复 InnoDB 存储引擎告诉 MySQL 服务器的内容: Table does not support optimizeInnoDB 存储引擎是说…… “我(InnoDB 存储引擎)不像我的朋友(MyISAM 存储引擎)那样执行 OPTIMIZE 操作。” **“doing recreate + analyze instead”**InnoDB 存储引擎是说…… “我决定执行一个不同的一组将达到相同结果的操作。” 来自: stackoverflow.com

“参数号无效:参数未定义” 插入数据

我使用 Yii 的活动记录模式已经有一段时间了。 CDbCommand 执行 SQL 语句失败:SQLSTATE[HY093]:参数号无效:参数未定义 这是我的代码: public function actionConfirmation { $model_person = new TempPerson(); $model = $model_person->find('alias=:alias',array(':alias'=>$_GET['alias'])); $connection=Yii::app()->db2; $sql = "INSERT INTO users (username, password, ssn, surname , firstname, email, city, country) VALUES(:alias, :password, :ssn, :surname , :firstname, :email, :city, :country)"; $command=$connection->createCommand($sql); $command->bindValue(":username", $model->alias); $command->bindValue(":password", substr($model->ssn, -4,4)); $command->bindValue(":ssn", $model->ssn); $command->bindValue(":surname", $model->lastName); $command->bindValue(":firstname", $model->firstName); $command->bindValue(":email", $model->email); $command->bindValue(":city", $model->placeOfBirth); $command->bindValue(":country", $model->placeOfBirth); $command->execute(); $this->render('confirmation',array('model'=>$model)); } 这将构造以下查询(如应用程序日志中所示): INSERT INTO users (username, password, ssn, surname, firstname, email , city, country) VALUES(:alias, :password, :ssn, :surname, :firstname, :email, :city, :country); 供参考$model->placeOfBirth应该是城市和县的值。...

“插入”忽略“ vs”插入...在重复密钥更新上

执行INSERT用许多行声明,我想跳过重复的条目,这些条目原本会导致故障。经过一些研究,我的选择似乎是使用: ON DUPLICATE KEY UPDATE这意味着不必要的更新,或者 INSERT IGNORE意味着其他类型的失败会在未经通知的情况下溜进来。 我在这些假设中是对的吗?简单地跳过可能导致重复并继续前进的行的行的最佳方法是什么? 答案 我建议使用INSERT...ON DUPLICATE KEY UPDATE。 如果您使用INSERT IGNORE,如果该行导致重复键,则实际上不会插入该行。但是该语句不会产生错误。它会产生警告。这些案例包括: 将重复键插入与PRIMARY KEY或者UNIQUE限制。 将null插入与NOT NULL约束。 向分区表插入一行,但插入的值不映射到分区。 如果您使用REPLACE,mysql实际上做了DELETE然后是INSERT内部有一些意想不到的副作用: 分配新的自增ID。 可能会删除带有外国钥匙的依赖行(如果您使用级联的外键),否则可以防止REPLACE。 触发发射的DELETE不必要地执行。 副作用也被传播到复制品。 correction: 两个都REPLACE和INSERT...ON DUPLICATE KEY UPDATE是非标准的,专有的发明。ANSI SQL 2003定义了MERGE语句可以解决相同的需求(以及更多),但MySQL不支持MERGE陈述。 用户尝试编辑此帖子(编辑被版主拒绝)。INSERT...ON DUPLICATE KEY UPDATE导致新的自动收入ID被分配。的确,新ID是生成,但在更改的行中不使用它。 请参见下面的演示,使用Percona服务器进行测试5.5.28。配置变量innodb_autoinc_lock_mode=1(默认): mysql> create table foo (id serial primary key, u int, unique key (u)); mysql> insert into foo (u) values (10); mysql> select * from foo; +----+------+ | id | u | +----+------+ | 1 | 10 | +----+------+ mysql> show create table foo\G CREATE TABLE `foo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `u` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `u` (`u`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 mysql> insert into foo (u) values (10) on duplicate key update u = 20; mysql> select * from foo; +----+------+ | id | u | +----+------+ | 1 | 20 | +----+------+ mysql> show create table foo\G CREATE TABLE `foo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `u` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `u` (`u`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 以上表明iodku语句检测到副本,并调用更新以更改的值u。注意AUTO_INCREMENT=3指示生成ID,但在行中未使用。...

“错误1067:该过程意外终止”,试图启动MySQL

我正在使用Windows 7并运行XAMPP MYSQL SVC服务。我看到以下错误: Windows无法在本地计算机上启动MySQL服务。 错误1067:该过程意外终止。 这是什么意思,我该如何修复? 答案 检查错误日志(start eventvwr.msc)。MySQL通常将某些内容写入应用程序日志。 在极少数情况下,它没有写任何东西(我只知道一个特定的错误http://bugs.mysql.com/bug.php?id=56821,其中服务根本不起作用)。 来自: stackoverflow.com

“警告:无法修改标头信息 - 标头已发送”错误

每次我尝试提交删除表单时,我都会收到此错误。 警告:无法修改标头信息 - 已由第 106 行 C:\xampp\htdocs\speedycms\deleteclient.php 中的(从 C:\xampp\htdocs\speedycms\deleteclient.php:47 开始输出)发送的标头 我的代码有问题吗? <?php if (!isset($_SESSION)) { session_start(); } $MM_authorizedUsers = ""; $MM_donotCheckaccess = "true"; // *** Restrict Access To Page: Grant or deny access to this page function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { // For security, start by assuming the visitor is NOT authorized. $isValid = False; // When a visitor has logged into this site, the Session variable MM_Username set equal to their username....

“连接失败:访问用户'root'@'localhost'(使用密码:是)从php函数

我编写了PHP网页使用的一些功能,以与MySQL数据库进行交互。当我在服务器上测试它们时,我会收到此错误: "Connect failed: Access denied for user 'root'@'localhost' (using password: YES)" 我可以在PC上使用它们(使用XAMPP),并且可以使用服务器中的命令行浏览数据库的表。但是,网页无法连接。我已经检查了密码,但没有结果。这是正确的(否则我将无法从命令行登录到MySQL)。 该功能的调用是以下内容: $conn = new mysqli("localhost", "root", "password", "shop"); 我必须在服务器中设置一些东西吗?谢谢 编辑:PHP版本5.3.3-7+Squeeze1 MySQL版本:5.1.49-3均在Debian上 答案 我以这种方式解决了:我用root用户名登录 mysql -u root -p -h localhost 我用 CREATE USER 'francesco'@'localhost' IDENTIFIED BY 'some_pass'; 然后我创建了数据库 CREATE DATABASE shop; 我授予了此数据库的新用户特权 GRANT ALL PRIVILEGES ON shop.* TO 'francesco'@'localhost'; 然后我注销root并登录新用户 quit; mysql -u francesco -p -h localhost 我使用脚本重建了数据库 source shop.sql; 就是这样..现在从 php 可以正常调用了 $conn = new mysqli("localhost", "francesco", "some_pass", "shop"); 感谢您的时间:)...

“列数与行的值数不匹配”,但确实如此

我有一个包含超过 14000 条语句的 mysql 文件。 ERROR 1136 (21S01) at line 1548: Column count doesn't match value count at row 45 我知道当列名称中指定的行与 VALUES 列表中指定的行不同时会出现错误,但我已经检查过很多次并且两个列表中的列数完全相同。 第 45 位的行是: ('00553', 'AAA', 'BBB', 'CCC', 'XXXXXXXXR', 'user address', 'spain', 'spain', '39212', '1900-01-21', '123456789', 'M', 'No disponible', 0, 'AAA', 'BBB ', 'CCC', 'XXXXXXXXR', NULL, '888993344', '', '', '', '', 'no', 'no') --> 26 columns 以及与之相关的插入行,上面的许多行是: INSERT INTO `users` (`id_patient`, `name`, `surname1`, `surname2`, `dni`, `address`, `city`, `state`, `postal_code`, `birthday`, `telephone`, `sex`, `email`, `lopd_status`, `lopd_name`, `lopd_surname1`, `lopd_surname2`, `lopd_dni`, `lopd_as`, `mobile_phone`, `notes`, `job`, `company`, `place`, `active_citation`, `signature`) --> 26 columns 我已经查找过此错误,但似乎仅在计数不同时才会出现,但在本例中,它是相同的。...