(15 Mins)A Simple C# And SQL Test
2012-08-28 19:11
225 查看
C# Basic Test
Replace string1 with string2 in all the files in a given folder including all the subfoldersThe first way:
/******************************************************************************** * Copyright (C) xxx. All rights reserved. * * Author: xxx * Email : xxx * Blog : http://www.cnblogs.com/KnightsWarrior/ * Create Date: 28/08/2012 18:40:24 PM * Description: Replace string1 with string2 in all the files in a given folder * including all the subfolders * * Revision History: * Date Author Description * 28/08/2012 19:01:24 PM KnightsWarrior *********************************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ReplaceStingInTxtFile { class Program { static void Main(string[] args) { //string rootFolder = @"C:\TempFolder"; //string string1 = "he is"; //string string2 = "she is"; Console.WriteLine("Please input the root folder:"); string rootFolder = Console.ReadLine(); Console.WriteLine("Please input the string you want to replace:"); string string1 = Console.ReadLine(); Console.WriteLine("Please input the string you want to replace with:"); string string2 = Console.ReadLine(); Console.WriteLine("Replacing started..."); ReplaceString(rootFolder, string1, string2); Console.WriteLine("Replacing finished..."); Console.ReadLine(); } /// <summary> /// Replace string1 with string2 in all the files in a given folder including all the subfolders /// </summary> /// <param name="rootFolder">Root folder</param> /// <param name="string1">The string before replacing</param> /// <param name="string2">The string after replaced</param> private static void ReplaceString(string rootFolder, string string1, string string2) { DirectoryInfo d = new DirectoryInfo(rootFolder); FileInfo[] fis = d.GetFiles(); foreach (var fi in fis) { if (IsTxtFile(fi.Name)) { try { string contents = File.ReadAllText(fi.FullName); contents = contents.Replace(string1, string2); File.SetAttributes(fi.FullName, FileAttributes.Normal); File.WriteAllText(fi.FullName, contents); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } DirectoryInfo[] ds = d.GetDirectories(); foreach (var info in ds) { ReplaceString(info.FullName, string1, string2); } } /// <summary> /// Check whether the file is txt file using fileName /// </summary> /// <param name="fileName">File Name</param> /// <returns></returns> private static bool IsTxtFile(string fileName) { if (fileName.IndexOf(".txt")>0) { return true; } else { return false; } } } }
The second way:
/******************************************************************************** * Copyright (C) XXX. All rights reserved. * * Author: XXX * Email : XXX * Blog : http://www.cnblogs.com/KnightsWarrior/ * Create Date: 28/08/2012 19:01:24 PM * Description: Replace string1 with string2 in all the files in a given folder * including all the subfolders * * Revision History: * Date Author Description * 28/08/2012 19:09:24 PM KnightsWarrior *********************************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ReplaceStingInTxtFile { class Program { static void Main(string[] args) { //string rootfolder = @"C:\TempFolder"; //string string1 = "You are"; //string string2 = "He is"; Console.WriteLine("Please input the root folder:"); string rootFolder = Console.ReadLine(); Console.WriteLine("Please input the string you want to replace:"); string string1 = Console.ReadLine(); Console.WriteLine("Please input the string you want to replace with:"); string string2 = Console.ReadLine(); Console.WriteLine("Replacing started..."); ReplaceString(rootFolder, string1, string2); Console.WriteLine("Replacing finished..."); Console.ReadLine(); } /// <summary> /// Replace string1 with string2 in all the files in a given folder including all the subfolders /// </summary> /// <param name="rootFolder">Root folder</param> /// <param name="string1">The string before replacing</param> /// <param name="string2">The string after replaced</param> public static void ReplaceString(string rootfolderName, string string1, string string2) { //Get all the txt files string[] files = Directory.GetFiles(rootfolderName, "*.txt", SearchOption.AllDirectories); foreach (string file in files) { try { //Read the file into string string contents = File.ReadAllText(file); contents = contents.Replace(string1, string2); //Set attributes and write the string into the file File.SetAttributes(file, FileAttributes.Normal); File.WriteAllText(file, contents); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } } }
The test folder as below:
DB Basic Test
/******************************************************************************** * Copyright (C) XXX. All rights reserved. * * Author: XXX * Email : XXX * Blog : http://www.cnblogs.com/KnightsWarrior/ * Create Date: 28/08/2012 18:40:24 PM * Description: Create database and all the tables and insert simple data to these tables * * Revision History: * Date Author Description * 28/08/2012 19:01:24 PM KnightsWarrior *********************************************************************************/ --Create a database CREATE DATABASE smu_db_test GO USE smu_db_test GO --Create all the tables CREATE TABLE student ( studentid INT NOT NULL, studentname NVARCHAR (10), gender CHAR(1), mobileno NVARCHAR(13) ) GO ALTER TABLE student ADD CONSTRAINT pk_studentid PRIMARY KEY (studentid) GO CREATE TABLE programme ( programmeid INT NOT NULL, programmename NVARCHAR(30) ) GO ALTER TABLE programme ADD CONSTRAINT pk_programmeid PRIMARY KEY (programmeid) GO CREATE TABLE student_pro ( studentid INT NOT NULL, programmeid INT NOT NULL ) GO ALTER TABLE student_pro ADD CONSTRAINT fk_studentid_student_pro FOREIGN KEY (studentid) REFERENCES student (studentid) GO ALTER TABLE student_pro ADD CONSTRAINT fk_programmeid_student_pro FOREIGN KEY (programmeid) REFERENCES programme (programmeid) GO --Insert data into student table INSERT INTO student (studentid, studentname, gender,mobileno) VALUES (1, 'Jason', 'M','82895894') GO INSERT INTO student (studentid, studentname, gender,mobileno) VALUES (2, 'Kitty', 'F','') GO INSERT INTO student (studentid, studentname, gender,mobileno) VALUES (3, 'Nance', 'M','') GO INSERT INTO student (studentid, studentname, gender,mobileno) VALUES (4, 'Harry', 'F','22334466') GO --Insert data into programme table INSERT INTO programme (programmeid, programmename) VALUES (1, 'English') GO INSERT INTO programme (programmeid, programmename) VALUES (2, 'Chinese') GO --Insert data into student_pro table INSERT INTO student_pro (studentid, programmeid) VALUES (1, 1) GO INSERT INTO student_pro (studentid, programmeid) VALUES (2, 2) GO INSERT INTO student_pro (studentid, programmeid) VALUES (3, 1) GO INSERT INTO student_pro (studentid, programmeid) VALUES (4, 2) GO
The database and all the tables after processed the above SQL
The Query SQL:
SELECT A.programmeid, A.programmename, (SELECT COUNT(B.studentid) FROM student B INNER JOIN student_pro C ON B.studentid = C.studentid AND C.programmeid =A.programmeid) AS #ofStudents, (SELECT COUNT(B.studentid) FROM student B INNER JOIN student_pro C ON B.studentid = C.studentid AND C.programmeid =A.programmeid AND B.gender = 'M') AS #ofStudentsmale, (SELECT COUNT(B.studentid) FROM student B INNER JOIN student_pro C ON B.studentid = C.studentid AND C.programmeid =A.programmeid AND B.gender = 'F') AS #ofStudentsfemale, (SELECT COUNT(B.studentid) FROM student B INNER JOIN student_pro C ON B.studentid = C.studentid AND C.programmeid =A.programmeid AND B.mobileno <> '' AND B.mobileno IS NOT NULL) AS #ofStudentsmobile FROM programme A ORDER BY A.programmeid
The Results as below:
相关文章推荐
- A Simple C# And SQL Test
- How to set up and test a simple OLEDB Linked Server in Microsoft® SQL Server to allow retrieval of d
- Amazon SNS (Simple Notification Service) Using C# and Visual Studio
- Effective C# Item 15: Utilize using and try/finally for Resource Cleanup
- 【转】Effective C# Item 15: Utilize using and try-finally
- C# DataSet And SqlDataAdapter读取SQL server2008数据库数据
- Remote Data Access Synchronization with SQL Server 2005 Compact Edition and Visual C#.NET
- (30 Mins)A Simple WCF Test
- A simple C# Wave editor, part 1: Background and analysis
- CLR Via C# 3rd 阅读摘要 -- Chapter 15 - Enumerated Types and Bit Flags
- C# read xml from a string and performance test
- C# - test and cast with reference type or value...
- SQL点滴15—在SQL Server 2008中调用C#程序
- sqlsrv.class.php A simple and convenient php sqlsrv class
- [优秀英文技术文章转载]Table Value Parameters in SQL Server 2008 and .NET (C#)
- SQL那些事儿(十四)--C#调用oracle存储过程(查询非查询and有参无参)深度好文
- Microsoft.SqlServer.Management.SqlMgmt.SimpleJobSchedule”上的属性访问器“ScheduleRecurrenceAndTimes”发生以下异常:
- Combining SqlConnection and SqlCommand in one Class in C#
- Hello My C# and SQLExpress 2005
- A Simple Web App with Spring Boot, Spring Security and Stormpath – in 15 Minutes