在MS SQL上,我可以使用下面的sql命令进行批量插入:
BULK INSERT myDatabase.MyTable FROM 'C:\MyTextFile.txt' WITH FIELDTERMINATOR = ','
Run Code Online (Sandbox Code Playgroud)
现在我想在MySQL上做同样的事情,但我似乎无法弄清楚它是如何工作的以及使用什么查询.
我使用vb.net和Access 2010作为数据库(.accdb)
这适用于MySQL:
SELECT user_id, username, first_name, middle_name, last_name,
CASE is_enable WHEN 1 THEN 'Yes' ELSE 'No' END
FROM tbl_user_accounts ORDER BY user_id
Run Code Online (Sandbox Code Playgroud)
但是当向Access传递相同的查询时,我收到以下错误:
Unrecognized keyword WHEN.
Run Code Online (Sandbox Code Playgroud)
所以我假设CASE语句在访问方面有所不同,或者访问是否具有该功能?
PS
is_enable是布尔值
请查看这个SQL Fiddle的表和我尝试过的查询:
SQL Fiddle
基本上,我有两个表,即tbl_curriculum和tbl_enrolled_subjects.
tbl_curriculum包含学生应根据其课程(course_id)学习的所有科目(subject_id).
tbl_enrolled_subjects包含学生根据tbl_curriculum采取/注册的所有科目.
我想检查学生已经学习了哪些科目,哪些科目不是,查询应该返回如下内容:
Subject_id|Grade|Status
23 | 2 |Passed
24 | 2 |Passed
31 | 2 |Passed
50 | 2 |Passed
83 | 1 |Passed
27 |NULL |NULL
28 |NULL |NULL
29 |NULL |NULL
Run Code Online (Sandbox Code Playgroud)
...等等.
具有成绩和状态的Subject_ID表示学生已经学习了该科目.另一方面,NULL值表示学生尚未学习这些科目.
我用过这个查询:
SELECT a.subject_id, b.grade, b.status
FROM tbl_curriculum a
LEFT JOIN tbl_enrolled_subjects b
ON a.course_id = b.course_id AND a.subject_id = b.subject_id
WHERE b.student_id_no='05-0531';
Run Code Online (Sandbox Code Playgroud)
但我一直只接受学生所学的科目.
Subject_id|Grade|Status
23 | 2 |Passed
24 | 2 |Passed …Run Code Online (Sandbox Code Playgroud) 我有页脚()PF A和B,每当我压制PFa时,PFb将在报告页脚之后向上移动.想象一下垂直线作为行号,
|Page Header
|Details
|Report Footer
|Page Footer A
|Page Footer B
Run Code Online (Sandbox Code Playgroud)
PFa仅在最后一页显示,使用抑制部分中的公式:
pagenumber <> totalpagecount
Run Code Online (Sandbox Code Playgroud)
这是结果
Page 1 Page 2
|Page Header |Page Header
|Details |Details
|Report Footer |Report Footer
|Page Footer B |Page Footer A
| |Page Footer B
Run Code Online (Sandbox Code Playgroud)
现在我希望报告是这样的
Page 1 Page 2
|Page Header |Page Header
|Details |Details
|Report Footer |Report Footer
| |Page Footer A
|Page Footer B |Page Footer B
Run Code Online (Sandbox Code Playgroud) 我真的不知道如何把这个,但请查看下面的详细信息.
学生
|Student_ID|Student_Name|
|1 |Ryan |
|2 |Camille |
|3 |George |
Run Code Online (Sandbox Code Playgroud)
年级
|Student_ID|Subject |Grade
|1 |Math |5
|1 |English |3
|1 |History |1
|2 |Math |3
|2 |English |4
|2 |History |1
|3 |Math |5
|3 |English |1
|3 |History |2
Run Code Online (Sandbox Code Playgroud)
有可能得到这个结果吗?
Student_Name|Math|English|History
Ryan |5 |3 |1
Camille |3 |4 |1
George |5 |1 |2
Run Code Online (Sandbox Code Playgroud)
现在我通过首先使用列名称填充未绑定的数据网格,然后是学生姓名,然后添加每个学生姓名的详细信息,从而实现了这一目标.这很耗时,我想更好地优化查询.
提前致谢.
MySQL Routine:
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `INSERT_Employee_Info`(
IN lname varchar(64),
IN fname varchar(64),
IN mname varchar(64)
)
BEGIN
INSERT INTO tbl_employee_info(lname, fname, mname)
VALUES(lname, fname, mname);
END
Run Code Online (Sandbox Code Playgroud)
Sometimes, the values lname, fname and mname may contain nothing but not null, I want the insert statement to insert NULL instead of the '' value.
I had the following in mind but I highly doubt it will work:
INSERT INTO tbl_employee_info(lname, fname, mname)
VALUES(CASE lname WHEN '' THEN NULL ELSE lname …Run Code Online (Sandbox Code Playgroud) 我有一个DataGridView5列.
第1列和第5列的单元格是组合框.
每当我更改任何这些ComboBox时,我都有一个运行的函数.
现在,为了使函数正常运行,我必须得到我编辑的ComboBox所属的列.
就像,当我更改属于第1列的ComboBox时,Function 1它会运行.
当我更改属于第5列的ComboBox时,Function 2运行.
我在 Powershell 上使用 Get-ADUser 来检索 Title 属性列表,然后使用 Add-Content 将其提供给文件。该脚本在多个 ADSearchBase 之间进行迭代,因此提要文件已预先准备好所需的标头。但是,当脚本针对每个 ADSearchBase 运行时,还会在源文件中添加多个标头。
请注意,我将提取多个属性,下面的示例仅针对 1 个属性。
生成的文件将被馈送到应用程序,因此有格式要求。
$ADFilter = "objectCategory -eq 'Person'"
Set-Content -Path feedfile.txt -Value "sym"
$ADSearchBases = @("OU=test1,DC=ABC,DC=ABC","OU=test2,DC=DEF,DC=ABC")
foreach ($ADSearchBase in $ADSearchBases) {
Get-ADUser -Server $DomainController -Credential $myCredentials -SearchBase $ADSearchBase -Filter $ADFilter -Properties 'Title' |
Select-Object title |
Add-Content feedfile.txt
}
Run Code Online (Sandbox Code Playgroud)
当前结果
sym
title
Employee
Manager
title
Sales Clerk
Cashier
Run Code Online (Sandbox Code Playgroud)
预期结果
sym
Employee
Manager
Sales Clerk
Cashier
Run Code Online (Sandbox Code Playgroud)