关于C#下实现控制数据库执行相应操作,基本所有工作全在SQL语句编写上。
嗯,简述以下基本流程吧:C#下建立与SQL SERVER的连接------写相应SQL语句------执行相应的SQL语句,完了。一三两步都是定式,本人都是抄的,所以现在也记不住。
至于中间的SQL语句,话不多说,上代码:
try
{
string dropSql = "declare @sql varchar(8000)" +
"set @sql=''" +
"select @sql=@sql+','+name from sysobjects where type='U' and name like 'Ban%'" +
"set @sql='drop table '+stuff(@sql,1,1,'')" + //--去掉开头一个","
"exec(@sql)" +
"declare @sql1 varchar(8000)" +
"set @sql1=''" +
"select @sql1=@sql1+','+name from sysobjects where type='U' and name like 'Or%'" +
"set @sql1='drop table '+stuff(@sql1,1,1,'')" + //--去掉开头一个","
"exec(@sql1)";
SqlCommand mycom = new SqlCommand(dropSql, Class1.Samycon);
mycom.ExecuteNonQuery();
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
return;
}
//comboBox1.Items.Clear();
MessageBox.Show("成功删除所有数据表,将关闭软件");
System.Environment.Exit(0);
}
SQL语句中,主要有这三点要理解(对于新手吭~)
1.TYPE='U' AND NAME LIKE‘BAN%’
其中,类型等于U,即USER,表示所有用户自建的表
NAME LIKE 'BAN%' 即以BAN开头的字符串,%叫个占位符还是替代符云云来着,总之,这个%可以指代N个字符,另外还有"_"指代的是一个字符好像,记不太清了,别误导你们。有兴趣的可以看看"SQL必知必会"这本书,都有讲。
2.@SQL :这只是表示一个变量而已,声明(DECLARE)。
3.STUFF ( character_expression , start , length , character_expression ) 函数,删除指定长度的字符并在指定的起始点插入另一组字符。
对上边的程序而言,这个函数的意义就是删除最开始的一个逗号。因为
"select @sql=@sql+','+name from sysobjects where type='U' and name like 'Ban%'"
执行后,原@SQL变为 “,以BAN开头的表名,以BAN开头的表名,以BAN开头的表名。。。。。。”
经STUFF函数后,@SQL变为“以BAN开头的表名,以BAN开头的表名,以BAN开头的表名。。。。。。”
最后,将@SQL变为“DROP。。。。”
然后执行一下@SQL即可(exec(@SQL))。
关于STUFF函数和EXEC函数还是方法来,这里有个连接,可以快餐了解一下点击打开链接
另外,如果做得东西要经常用到数据库的话,还是快餐了解一下常用的SQL 语句和函数吧。这样很多构思都能自己写SQL语句实现了,不是吗,所以~
强烈推荐一波本人上传滴资源(毕竟我也要积分下载大佬们的资源嘛)点击打开链接------
SQL书籍资料(SQL 必知必会、从入门到精通)
其中,从入门到精通本人是一点也看不懂啊!!!全是原理~
必知必会很好,主要讲的就是各种常用语句,函数,很好用!!强推!!!
资源中另附标题两方法实现的SQL语句。