主界面代码
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient; namespace 私属音乐点播
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
DBHelper db = new DBHelper();
/// <summary>
/// lv的目标界面定义,0歌曲,1歌手,2国家,3性别,
/// 亮点
/// </summary>
int num = ; //lv的目标界面定义,0歌曲,1歌手,2国家,3性别,4字数
//单击歌星点歌按钮事件
private void tsbtnTool_singer_Click(object sender, EventArgs e)
{
//目标项在表中的个数
string strCounts=@"select COUNT(1) from singer_info";
//查询歌手Id和歌手名字,私有dr方法
string str = @"select singer_id,singer_name from singer_info";
//获取歌手方法
GetSinger(strCounts, str);
}
//双击lv_Login组件事件
string gender = "男";
private void lv_Login_DoubleClick(object sender, EventArgs e)
{ //亮点
switch (num)
{
//歌曲双击事件
case :
int result = Convert.ToInt32(lv_Login.SelectedItems[].Tag);
DoubleClickSong(result);
break;
//歌手双击事件
case :
int singerId = Convert.ToInt32(lv_Login.SelectedItems[].Tag);
string str = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_info.singer_id=" + singerId + " and song_info.singer_id = singer_info.singer_id";
num = ;
SingerToSongs(str);
break;
//国家双击事件
case :
int type_id = Convert.ToInt32(lv_Login.SelectedItems[].Tag);
string strCount = @"select count(1) from singer_info where singer_sex='" + gender + "' and singertype_id=" + type_id + "";
string strInfo=@"select singer_id,singer_name from singer_info where singer_sex='" + gender + "' and singertype_id=" + type_id + "";
//下一个lv_Login为歌曲,num=1
num = ;
GetSinger(strCount,strInfo);
break;
//性别双击事件
case :
gender = lv_Login.SelectedItems[].Text;
//下一个为歌手地区,num值为2
num = ;
//搞出国家lv方法
GetSingerType();
break;
//字数点歌
case :
num = ;
string playCount;
if (Convert.ToInt32(lv_Login.SelectedItems[].Tag)!=)
{
playCount = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_word_count = " + lv_Login.SelectedItems[].Tag + " and song_info.singer_id = singer_info.singer_id";
}
else
{
playCount = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_word_count > 10 and song_info.singer_id = singer_info.singer_id";
}
SingerToSongs(playCount);
break;
//其他非合法组件双击事件,直接跳出
default:
//不用思索,直接跳出
return;
}
}
//类型点歌按钮事件
private void tsbtnTool_type_Click(object sender, EventArgs e)
{
//打开性别lv
//目标lv为性别,所以num为3
num = ;
imglist.Images.Clear();
lv_Login.Clear();
lv_Login.Controls.Clear();
lv_Login.View = View.LargeIcon;
try
{
imglist.ImageSize = new Size(, );
imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\male.png"));
imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\female.png"));
imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\couple.png"));
}
catch (Exception)
{
imglist.ImageSize = new Size(, );
ListViewItem male1 = new ListViewItem("男");
ListViewItem female1 = new ListViewItem("女");
ListViewItem couple1 = new ListViewItem("组合");
lv_Login.Items.Add(male1);
lv_Login.Items.Add(female1);
lv_Login.Items.Add(couple1);
return;
}
lv_Login.LargeImageList = imglist;
ListViewItem male = new ListViewItem("男", );
ListViewItem female = new ListViewItem("女", );
ListViewItem couple = new ListViewItem("组合", );
lv_Login.Items.Add(male);
lv_Login.Items.Add(female);
lv_Login.Items.Add(couple);
}
#region 拼音点歌事件
private void tsbtnTool_pinyin_Click(object sender, EventArgs e)
{
lv_Login.Clear();
lv_Login.Controls.Add(txt);
lv_Login.Controls.Add(lbl);
txt.Location = new Point(, );
txt.Size = new System.Drawing.Size(new Point(, ));
txt.Focus();
lbl.Text = "(请输入要查找的歌曲拼音或缩写)";
lbl.Font = new Font("幼圆", );
lbl.ForeColor = Color.Blue;
lbl.Location = new Point(, );
lbl.Size = new Size(new Point(, ));
txt.TextChanged += txt_TextChanged;
lvNew.Location = new Point(-, );
lvNew.Size = new Size(, );
lvNew.FullRowSelect = true;
lvNew.View = View.Details;
lvNew.Columns.Clear();
lvNew.Columns.Add("歌曲名称", );
lvNew.Columns.Add("歌手", );
lvNew.Columns.Add("点播次数", );
lvNew.DoubleClick += lvNew_DoubleClick;
lv_Login.Controls.Add(lvNew);
}
//添加三个个控件
TextBox txt = new TextBox();
Label lbl = new Label();
ListView lvNew = new ListView();
//lv_Login的新添项lvNew的Items双击事件
private void lvNew_DoubleClick(object sender, EventArgs e)
{
//在这里引用歌曲双击事件
int result = Convert.ToInt32(lvNew.SelectedItems[].Tag);
//MessageBox.Show(result.ToString());
DoubleClickSong(result);
}
//new出的txt的text值改变时事件
private void txt_TextChanged(object sender, EventArgs e)
{
lvNew.Items.Clear();
string result="";
if (!txt.Text.Trim().Equals(string.Empty))
{
foreach (char item in txt.Text)
{
if (item>='a'&&item<='z')
{
result += item;
result += '%';
}else if (item>='A'&&item<='Z')
{
result += item.ToString().ToLower();
result += '%';
}
}
}
string str;
if (!result.Equals(string.Empty))
{
str = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_ab like '%" + result + "%' and song_info.singer_id = singer_info.singer_id";
}
else
{
return;
}
try
{
SqlDataReader dr = db.Dr(str);
if (dr.HasRows)
{
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr["song_name"].ToString());
item.Tag = dr["song_id"].ToString();
item.SubItems.Add(dr["singer_name"].ToString());
item.SubItems.Add(dr["song_play_count"].ToString());
lvNew.Items.Add(item);
}
dr.Close();
}
}
catch (Exception)
{
MessageBox.Show("私有连接异常!");
}
finally
{
db.CloseConnection();
}
}
#endregion
//金榜排行按钮点击事件
private void tsbtnTool_order_Click(object sender, EventArgs e)
{
imglist.Images.Clear();
lv_Login.SmallImageList = imglist;
string str = @"select top 10 song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_info.singer_id=singer_info.singer_id order by song_play_count desc";
num = ;
SingerToSongs(str);
lv_Login.View = View.List;
imglist.ImageSize = new Size(, );
try
{
for (int i = ; i < ; i++)
{
imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\" + i + ".png"));
lv_Login.Items[i].ImageIndex = i;
}
}
catch (Exception)
{ }
}
//单击字数点歌按钮事件
private void tsbtnTool_counts_Click(object sender, EventArgs e)
{
//目标lv_Login为字数lv, num为4
num = ;
lv_Login.Clear();
lv_Login.Controls.Clear();
imglist.Images.Clear();
lv_Login.LargeImageList = imglist;
imglist.ImageSize = new System.Drawing.Size(, );
lv_Login.View = View.LargeIcon;
for (int i = ; i < ; i++)
{
imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\" + i + ".png"));
ListViewItem item = new ListViewItem((i) + "个字",i-);
item.Tag = i+;
lv_Login.Items.Add(item);
}
imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\N.png"));
ListViewItem itemN = new ListViewItem("N个字", );
itemN.Tag = ;
lv_Login.Items.Add(itemN);
}
//定时器事件
private void timer_Tick(object sender, EventArgs e)
{
Playing();
}
/// <summary>
/// 歌手双击方法
/// </summary>
/// <param name="str">查询歌曲语句</param>
public void SingerToSongs(string str)
{
num = ;
lv_Login.View = View.Details;
lv_Login.Clear();
lv_Login.Controls.Clear();
lv_Login.Columns.Add("歌曲名称", );
lv_Login.Columns.Add("歌手", );
lv_Login.Columns.Add("点播次数", );
try
{
SqlDataReader dr = db.Dr(str);
if (dr.HasRows)
{
while (dr.Read())
{
ListViewItem item = new ListViewItem(dr["song_name"].ToString());
item.Tag = dr["song_id"].ToString();
item.SubItems.Add(dr["singer_name"].ToString());
item.SubItems.Add(dr["song_play_count"].ToString());
lv_Login.Items.Add(item);
}
dr.Close();
}
}
catch (Exception)
{
MessageBox.Show("私有连接异常!");
}
finally
{
db.CloseConnection();
}
}
/// <summary>
/// 播放列表专属数组
/// </summary>
Song[] playing_list = new Song[];
/// <summary>
/// 歌曲双击方法
/// </summary>
/// <param name="result">双击歌曲项的Tag值</param>
public void DoubleClickSong(int result)
{
//循环判定
foreach (Song song in playing_list)
{
if (song!=null && song.SongId == result.ToString())
{
MessageBox.Show("已点!");
return;
}
else if (song==null)
{
break;
}
}
int i = ;
foreach (Song one in playing_list)
{
if (one != null)
i++;
}
string str = @"select song_name from song_info where song_id = " + result + "";
try
{
SqlDataReader dr = db.Dr(str);
if (dr.HasRows)
{
if (dr.Read())
{
playing_list[i] = new Song();
playing_list[i].SongName = dr["song_name"].ToString();
playing_list[i].SongId = result.ToString();
}
}
dr.Close();
}
catch (Exception)
{
MessageBox.Show("私有连接异常!");
}
finally
{
db.CloseConnection();
if (playing_list[i]!=null)
{
playing_list[i].Songurl = GetSongurlById(result.ToString());
}
}
ListViewItem item = new ListViewItem(playing_list[i].SongName);
///注意
///注意
if (i == )
{
item.SubItems.Add("正在播放");
wmp.URL = playing_list[i].Songurl;
try
{
SetPlayCount(playing_list[i].SongId);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
item.SubItems.Add("未播放");
try
{
SetPlayCount(playing_list[i].SongId);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
item.SubItems.Add(playing_list[i].SongId);
item.Tag = playing_list[i].Songurl;
lvPlay_list.Items.Add(item);
timer.Enabled = true;
}
/// 当前播放的歌曲在对象数组中的下标
/// </summary>
int playingIndex = ;
/// <summary>
/// 播放方法
/// </summary>
public void Playing()
{
//重新写
if (wmp.playState==WMPLib.WMPPlayState.wmppsPlaying)
{
try
{
//面板信息更改
lblPlaying_name.Text = playing_list[playingIndex].SongName;
lblNext_name.Text = playing_list[playingIndex+].SongName;
}
catch (Exception)
{
lblNext_name.Text = "无";
}
}
else if (wmp.playState == WMPLib.WMPPlayState.wmppsStopped)
{
try
{
//状态更新
lvPlay_list.Items[playingIndex].SubItems[].Text = "已播放";
}
catch (Exception)
{
return;
}
playingIndex++;
//为播放列表的最后一个时,返回index,跳出方法
if (playing_list[playingIndex] == null)
{
playingIndex--;
wmp.URL = string.Empty;
return;
}
wmp.URL = playing_list[playingIndex].Songurl;
lvPlay_list.Items[playingIndex].SubItems[].Text = "正在播放";
//面板提示信息更新
lblPlaying_name.Text = playing_list[playingIndex].SongName;
try
{
lblNext_name.Text = playing_list[playingIndex + ].SongName;
}
catch (Exception)
{
lblNext_name.Text = "无";
}
}
//歌曲读取异常(为空,或,路径异常)
else if (wmp.playState==WMPLib.WMPPlayState.wmppsReady)
{
if (wmp.URL==string.Empty)
{
//只要路径为空,只需要判定播放列表是否为空,否则直接播放
if (playing_list[playingIndex] == null)
{
return;
}
wmp.URL = playing_list[playingIndex].Songurl;
try
{
lvPlay_list.Items[playingIndex].SubItems[].Text = "正在播放";
}
catch (Exception)
{
return;
}
//面板提示信息更新
lblPlaying_name.Text = playing_list[playingIndex].SongName;
try
{
lblNext_name.Text = playing_list[playingIndex +].SongName;
}
catch (Exception)
{
lblNext_name.Text = "无";
}
}
else
{
lvPlay_list.Items[playingIndex].SubItems[].Text = "路径异常";
playingIndex++;
//为播放列表的最后一个时,返回index,跳出方法
if (playing_list[playingIndex] == null)
{
wmp.URL = string.Empty;
return;
}
wmp.URL = playing_list[playingIndex].Songurl;
try
{
lvPlay_list.Items[playingIndex].SubItems[].Text = "正在播放";
}
catch (Exception)
{
return;
} //面板提示信息更新
lblPlaying_name.Text = playing_list[playingIndex].SongName;
try
{
lblNext_name.Text = playing_list[playingIndex + ].SongName;
}
catch (Exception)
{
lblNext_name.Text = "无";
}
}
}
else
{
return;
}
}
/// <summary>
/// 根据歌手id查找歌手图片路径
/// </summary>
/// <param name="id">singerId</param>
/// <returns>singerPhotoUrl</returns>
public string GetSingerurlById(string id)
{
string str2 = @"select resource_path from resource where resource_type='歌手图片地址'";
string singerphoto_url = db.ScalForString(str2);
string str = @"select singer_photo_url from singer_info where singer_id='" + id + "'";
string singer_url = db.ScalForString(str);
string sb = singerphoto_url + singer_url;
return sb;
}
/// <summary>
/// 根据歌曲id查找歌曲路径
/// </summary>
/// <param name="id">songId</param>
/// <returns>songUrl</returns>
public string GetSongurlById(string id)
{
string str = @"select resource_path from resource where resource_type = '歌曲地址'";
StringBuilder sb = new StringBuilder(db.ScalForString(str));
string str2 = @"select song_url from song_info where song_id = " + id + "";
sb.Append(db.ScalForString(str2));
return sb.ToString();
}
/// <summary>
/// 播放次数更新方法
/// </summary>
/// <param name="songId">歌曲Id的字符串格式</param>
/// <returns>是否成功</returns>
public bool SetPlayCount(string songId)
{
int result;
string str1 = @"select song_play_count from song_info where song_id=" + songId + "";
try
{
result = Convert.ToInt32(db.Scal(str1));
}
catch (Exception)
{
result = ;
}
result++;
string str = @"update song_info set song_play_count = " + result + " where song_id=" + songId + "";
if (db.Non(str)>)
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// new国家lv_Login方法
/// </summary>
private void GetSingerType()
{
lv_Login.Clear();
lv_Login.Controls.Clear();
imglist.Images.Clear();
lv_Login.View = View.LargeIcon;
lv_Login.LargeImageList = imglist;
string str1 = @"select count(1) from singer_type";
int result;
try
{
result = Convert.ToInt32(db.Scal(str1));
}
catch (Exception)
{
return;
}
string str = @"select singertype_id, singertype_name from singer_type";
try
{
SqlDataReader dr = db.Dr(str);
if (dr.HasRows)
{
for (int i = ; i < result; i++)
{
dr.Read();
Image img;
try
{
img = Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image" + Convert.ToString(dr["singertype_name"]) + ".png");
}
catch (Exception)
{
img = Image.FromFile("D:\\课程\\S1\\KTV\\MyKTV\\image\\singer_temp.jpg");
}
imglist.Images.Add(img);
ListViewItem item = new ListViewItem(dr["singertype_name"].ToString(),i);
item.Tag = Convert.ToString(dr["singertype_id"]);
lv_Login.Items.Add(item);
}
}
dr.Close();
}
catch (Exception)
{
MessageBox.Show("歌手地区读取异常!");
}
finally
{
db.CloseConnection();
}
}
/// <summary>
/// 获取歌手信息
/// </summary>
/// <param name="strCounts">条件下歌手个数查询语句</param>
/// <param name="str">条件下歌手信息查询语句</param>
private void GetSinger(string strCounts, string str)
{
//歌手lv的目标lv为歌曲
num = ;
imglist.Images.Clear();
lv_Login.Clear();
lv_Login.Controls.Clear();
lv_Login.View = View.LargeIcon;
//确定大图标的图像列表对象
lv_Login.LargeImageList = imglist;
imglist.ImageSize = new System.Drawing.Size(, );
int result = db.ScalForInt(strCounts);
SqlCommand comm = new SqlCommand(str, db.conn);
//new出对象数组,用于存储目标表格信息
Song[] song = new Song[result];
try
{
db.OpenConnection();
SqlDataReader dr = comm.ExecuteReader();
if (dr != null)
if (dr.HasRows)
{
for (int i = ; i < result; i++)
{
if (dr.Read())
{
//读取了歌手id,歌手名称
song[i] = new Song();
song[i].SingerId = dr["singer_id"].ToString();
song[i].SingerName = dr["singer_name"].ToString();
}
}
dr.Close();
}
}
catch (Exception)
{
MessageBox.Show("私有连接异常!");
}
finally
{
db.CloseConnection();
} //改变imagelist的图片大小:imglist.ImageSize = new Size(32, 32); //循环读出图片url,加载对应图片到imglist,给items组合项添加对象数组中每一项
for (int i = ; i < result; i++)
{
song[i].SingerPhoto = GetSingerurlById(song[i].SingerId);
Image img;
//亮点
try
{
img = Image.FromFile(song[i].SingerPhoto);
}
catch (Exception)
{
img = Image.FromFile("D:\\课程\\S1\\KTV\\MyKTV\\image\\singer_temp.jpg");
}
imglist.Images.Add(img);
ListViewItem item = new ListViewItem(song[i].SingerName, i);
item.Tag = song[i].SingerId;
lv_Login.Items.Add(item);
}
}
#region 删除播放列表歌曲,双击播放
////删除选中歌曲按钮事件
private void btnDel_Click(object sender, EventArgs e)
{
int result;
try
{
result = Convert.ToInt32(lvPlay_list.SelectedItems[].Index);
}
catch (Exception)
{
return;
}
//清空对象数组与列表
lvPlay_list.SelectedItems[].Remove();
///亮点
if (result == playingIndex)
{ try
{
if (playing_list[result + ] != null)
{
for (int i = result + ; i < playing_list.Length; i++)
{
playing_list[i - ].SongId = playing_list[i].SongId;
playing_list[i - ].SongName = playing_list[i].SongName;
playing_list[i - ].Songurl = playing_list[i].Songurl;
}
wmp.URL = playing_list[result].Songurl;
}
else
{
playing_list[result] = playing_list[result + ];
wmp.URL = string.Empty;
}
}
catch (Exception)
{
wmp.URL = string.Empty;
}
} }
////双击播放列表组件时
private void lvPlay_list_DoubleClick(object sender, EventArgs e)
{
try
{
wmp.URL = playing_list[Convert.ToInt32(lvPlay_list.SelectedItems[].Index)].Songurl;
lvPlay_list.Items[playingIndex].SubItems[].Text = "已播放";
playingIndex = Convert.ToInt32(lvPlay_list.SelectedItems[].Index);
lvPlay_list.Items[playingIndex].SubItems[].Text = "正在播放";
}
catch (Exception)
{
return;
}
}
////列表循环方式按钮点击事件
private void btnState_Click(object sender, EventArgs e)
{
// Timer timeResult = new Timer();
// if (btnState.Text=="列表循环模式")
// {
// btnState.Text = "单曲循环模式";
// timer.Enabled = false;
// timeResult.Enabled = true;
// timeResult.Interval = 1000;
// timeResult.Tick += timeResult_Tick;
// }
// else if (btnState.Text=="单曲循环模式")
// {
// btnState.Text = "无循环模式";
// timer.Enabled = true;
// timeResult.Enabled = false;
// }
// else if (btnState.Text=="无循环模式")
// {
// btnState.Text = "列表循环模式";
// timer.Enabled = false;
// timeResult.Enabled = true;
// timeResult.Interval = 1000;
// timeResult.Tick += timeResult_Tick;
// }
}
////附加定时器事件
void timeResult_Tick(object sender, EventArgs e)
{ // if (wmp.playState==WMPLib.WMPPlayState.wmppsStopped&&btnState.Text=="单曲循环模式")
// {
// wmp.URL = playing_list[playingIndex].Songurl;
// }
// else if (btnState.Text=="列表循环模式")
// {
// int result=-1;
// foreach (Song item in playing_list)
// {
// if (item!=null)
// {
// result++;
// }
// else
// {
// break;
// }
// }
// if (playingIndex==result)
// {
// playingIndex = 0;
// }
// }
}
#endregion }
}
数据库连接辅助代码
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data; namespace 私属音乐点播
{
class DBHelper
{
public static string sql = @"Data source=.;initial catalog=KTV;uid=sa;pwd=liuzs";
public SqlConnection conn = new SqlConnection(sql);
//打开数据库连接
public void OpenConnection()
{
if (conn.State == ConnectionState.Closed)
{
conn.Open(); }
else if (conn.State == ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
}
//关闭数据库连接
public void CloseConnection()
{
if (conn.State == ConnectionState.Open || conn.State == ConnectionState.Broken)
{
conn.Close();
}
}
//返回受影响行号方法
public int Non(string str)
{
SqlCommand comm = new SqlCommand(str,conn);
int result = ;
try
{
OpenConnection();
result = Convert.ToInt32(comm.ExecuteNonQuery());
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("获取表行号网络异常!");
}
finally
{
CloseConnection();
}
return result;
}
//返回查询首行首列为Int值方法
public int ScalForInt(string str)
{
SqlCommand comm = new SqlCommand(str,conn);
int result = ;
try
{
OpenConnection();
result = Convert.ToInt32(comm.ExecuteScalar());
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("获取整型查询值网络异常!");
}
finally
{
CloseConnection();
}
return result;
}
//返回查询首行首列为String值方法
public string ScalForString(string str)
{
SqlCommand comm = new SqlCommand(str,conn);
string result = "";
try
{
OpenConnection();
result = Convert.ToString(comm.ExecuteScalar());
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("获取字符串查询值网络异常!");
}
finally
{
CloseConnection();
}
return result;
}
//返回查询首行首列值方法
public object Scal(string str)
{
SqlCommand comm = new SqlCommand(str,conn);
object result = null;
try
{
OpenConnection();
result = comm.ExecuteScalar();
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("获取查询值网络异常!");
}
finally
{
CloseConnection();
}
return result;
}
/// <summary>
/// 返回DataReader方法
/// 需要手动关闭读取器,关闭连接
/// 不可与其他数据库查询方法连用,da除外
/// </summary>
/// <param name="str">查询语句</param>
/// <returns>dr对象</returns>
public SqlDataReader Dr(string str)
{
SqlCommand comm = new SqlCommand(str,conn);
SqlDataReader dr = null;
try
{
OpenConnection();
dr = comm.ExecuteReader();
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("获取查询值集合网络异常!");
}
return dr;
}
//返回DataAdapter方法
public SqlDataAdapter Da(string str)
{
SqlDataAdapter da = null;
try
{
da = new SqlDataAdapter(str, conn);
}
catch (Exception)
{
System.Windows.Forms.MessageBox.Show("获取表单网络异常!");
}
finally
{
CloseConnection();
}
return da;
} }
}

写这些代码也是我在S1的总结,虽然不是半年来学习的全部,但也是大部分了.

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Data.SqlClient;
namespace 私属音乐点播{    public partial class frmMain : Form    {        public frmMain()        {            InitializeComponent();        }        DBHelper db = new DBHelper();        /// <summary>        /// lv的目标界面定义,0歌曲,1歌手,2国家,3性别,        /// 亮点        /// </summary>        int num = 0;    //lv的目标界面定义,0歌曲,1歌手,2国家,3性别,4字数        //单击歌星点歌按钮事件        private void tsbtnTool_singer_Click(object sender, EventArgs e)        {            //目标项在表中的个数            string strCounts=@"select COUNT(1) from singer_info";            //查询歌手Id和歌手名字,私有dr方法            string str = @"select singer_id,singer_name from singer_info";            //获取歌手方法            GetSinger(strCounts, str);        }        //双击lv_Login组件事件        string gender = "男";        private void lv_Login_DoubleClick(object sender, EventArgs e)        {                        //亮点            switch (num)            {                //歌曲双击事件                case 0:                    int result = Convert.ToInt32(lv_Login.SelectedItems[0].Tag);                    DoubleClickSong(result);                    break;                //歌手双击事件                case 1:                    int singerId = Convert.ToInt32(lv_Login.SelectedItems[0].Tag);                    string str = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_info.singer_id=" + singerId + " and song_info.singer_id = singer_info.singer_id";                    num = 0;                    SingerToSongs(str);                    break;                //国家双击事件                case 2:                    int type_id = Convert.ToInt32(lv_Login.SelectedItems[0].Tag);                    string strCount = @"select count(1) from singer_info where singer_sex='" + gender + "' and singertype_id=" + type_id + "";                    string strInfo=@"select singer_id,singer_name from singer_info where singer_sex='" + gender + "' and singertype_id=" + type_id + "";                    //下一个lv_Login为歌曲,num=1                    num = 1;                    GetSinger(strCount,strInfo);                    break;                //性别双击事件                case 3:                    gender = lv_Login.SelectedItems[0].Text;                    //下一个为歌手地区,num值为2                    num = 2;                    //搞出国家lv方法                    GetSingerType();                    break;                //字数点歌                case 4:                    num = 0;                    string playCount;                    if (Convert.ToInt32(lv_Login.SelectedItems[0].Tag)!=11)                    {                        playCount = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_word_count = " + lv_Login.SelectedItems[0].Tag + " and song_info.singer_id = singer_info.singer_id";                    }                    else                    {                        playCount = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_word_count > 10 and song_info.singer_id = singer_info.singer_id";                    }                    SingerToSongs(playCount);                    break;                //其他非合法组件双击事件,直接跳出                default:                    //不用思索,直接跳出                    return;            }        }        //类型点歌按钮事件        private void tsbtnTool_type_Click(object sender, EventArgs e)        {            //打开性别lv            //目标lv为性别,所以num为3            num = 3;            imglist.Images.Clear();            lv_Login.Clear();            lv_Login.Controls.Clear();            lv_Login.View = View.LargeIcon;            try            {                imglist.ImageSize = new Size(166, 168);                imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\male.png"));                imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\female.png"));                imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\couple.png"));            }            catch (Exception)            {                imglist.ImageSize = new Size(100, 100);                ListViewItem male1 = new ListViewItem("男");                ListViewItem female1 = new ListViewItem("女");                ListViewItem couple1 = new ListViewItem("组合");                lv_Login.Items.Add(male1);                lv_Login.Items.Add(female1);                lv_Login.Items.Add(couple1);                return;            }            lv_Login.LargeImageList = imglist;            ListViewItem male = new ListViewItem("男", 0);            ListViewItem female = new ListViewItem("女", 1);            ListViewItem couple = new ListViewItem("组合", 2);            lv_Login.Items.Add(male);            lv_Login.Items.Add(female);            lv_Login.Items.Add(couple);        }        #region 拼音点歌事件        private void tsbtnTool_pinyin_Click(object sender, EventArgs e)        {            lv_Login.Clear();            lv_Login.Controls.Add(txt);            lv_Login.Controls.Add(lbl);            txt.Location = new Point(200, 10);            txt.Size = new System.Drawing.Size(new Point(150, 18));            txt.Focus();            lbl.Text = "(请输入要查找的歌曲拼音或缩写)";            lbl.Font = new Font("幼圆", 10);            lbl.ForeColor = Color.Blue;            lbl.Location = new Point(350, 10);            lbl.Size = new Size(new Point(250, 18));            txt.TextChanged += txt_TextChanged;            lvNew.Location = new Point(-1, 40);            lvNew.Size = new Size(680, 580);            lvNew.FullRowSelect = true;            lvNew.View = View.Details;            lvNew.Columns.Clear();            lvNew.Columns.Add("歌曲名称", 300);            lvNew.Columns.Add("歌手", 150);            lvNew.Columns.Add("点播次数", 100);            lvNew.DoubleClick += lvNew_DoubleClick;            lv_Login.Controls.Add(lvNew);        }        //添加三个个控件        TextBox txt = new TextBox();        Label lbl = new Label();        ListView lvNew = new ListView();        //lv_Login的新添项lvNew的Items双击事件        private void lvNew_DoubleClick(object sender, EventArgs e)        {            //在这里引用歌曲双击事件            int result = Convert.ToInt32(lvNew.SelectedItems[0].Tag);            //MessageBox.Show(result.ToString());            DoubleClickSong(result);        }        //new出的txt的text值改变时事件        private void txt_TextChanged(object sender, EventArgs e)        {            lvNew.Items.Clear();            string result="";            if (!txt.Text.Trim().Equals(string.Empty))        {        foreach (char item in txt.Text)            {            if (item>='a'&&item<='z')                {                        result += item;                        result += '%';                }else if (item>='A'&&item<='Z')                {                        result += item.ToString().ToLower();                        result += '%';                }            }        }            string str;            if (!result.Equals(string.Empty))            {                str = @"select song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_ab like '%" + result + "%' and song_info.singer_id = singer_info.singer_id";            }            else            {                return;            }            try            {                SqlDataReader dr = db.Dr(str);                if (dr.HasRows)                {                    while (dr.Read())                    {                        ListViewItem item = new ListViewItem(dr["song_name"].ToString());                        item.Tag = dr["song_id"].ToString();                        item.SubItems.Add(dr["singer_name"].ToString());                        item.SubItems.Add(dr["song_play_count"].ToString());                        lvNew.Items.Add(item);                    }                    dr.Close();                }            }            catch (Exception)            {                MessageBox.Show("私有连接异常!");            }            finally            {                db.CloseConnection();            }        }        #endregion        //金榜排行按钮点击事件        private void tsbtnTool_order_Click(object sender, EventArgs e)        {            imglist.Images.Clear();            lv_Login.SmallImageList = imglist;            string str = @"select top 10 song_id,song_name,singer_name,song_play_count from song_info,singer_info where song_info.singer_id=singer_info.singer_id order by song_play_count desc";            num = 0;            SingerToSongs(str);            lv_Login.View = View.List;            imglist.ImageSize = new Size(60, 60);            try            {                for (int i = 0; i < 10; i++)                {                    imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\" + i + ".png"));                    lv_Login.Items[i].ImageIndex = i;                }            }            catch (Exception)            {                            }        }        //单击字数点歌按钮事件        private void tsbtnTool_counts_Click(object sender, EventArgs e)        {            //目标lv_Login为字数lv, num为4            num = 4;            lv_Login.Clear();            lv_Login.Controls.Clear();            imglist.Images.Clear();            lv_Login.LargeImageList = imglist;            imglist.ImageSize = new System.Drawing.Size(60, 60);            lv_Login.View = View.LargeIcon;            for (int i = 1; i < 11; i++)            {                imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\" + i + ".png"));                ListViewItem item = new ListViewItem((i) + "个字",i-1);                item.Tag = i+1;                lv_Login.Items.Add(item);            }            imglist.Images.Add(Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image\N.png"));            ListViewItem itemN = new ListViewItem("N个字", 10);            itemN.Tag = 11;            lv_Login.Items.Add(itemN);        }        //定时器事件        private void timer_Tick(object sender, EventArgs e)        {            Playing();        }        /// <summary>        /// 歌手双击方法        /// </summary>        /// <param name="str">查询歌曲语句</param>        public void SingerToSongs(string str)        {            num = 0;            lv_Login.View = View.Details;            lv_Login.Clear();            lv_Login.Controls.Clear();            lv_Login.Columns.Add("歌曲名称", 300);            lv_Login.Columns.Add("歌手", 150);            lv_Login.Columns.Add("点播次数", 100);            try            {                SqlDataReader dr = db.Dr(str);                if (dr.HasRows)                {                    while (dr.Read())                    {                        ListViewItem item = new ListViewItem(dr["song_name"].ToString());                        item.Tag = dr["song_id"].ToString();                        item.SubItems.Add(dr["singer_name"].ToString());                        item.SubItems.Add(dr["song_play_count"].ToString());                        lv_Login.Items.Add(item);                    }                    dr.Close();                }            }            catch (Exception)            {                MessageBox.Show("私有连接异常!");            }            finally            {                db.CloseConnection();            }        }        /// <summary>        /// 播放列表专属数组        /// </summary>        Song[] playing_list = new Song[100];        /// <summary>        /// 歌曲双击方法        /// </summary>        /// <param name="result">双击歌曲项的Tag值</param>        public void DoubleClickSong(int result)        {            //循环判定            foreach (Song song in playing_list)            {                if (song!=null && song.SongId == result.ToString())                {                    MessageBox.Show("已点!");                    return;                }                else if (song==null)                {                    break;                }            }            int i = 0;            foreach (Song one in playing_list)            {                if (one != null)                    i++;            }            string str = @"select song_name from song_info where song_id = " + result + "";            try            {                SqlDataReader dr = db.Dr(str);                if (dr.HasRows)                {                    if (dr.Read())                    {                        playing_list[i] = new Song();                        playing_list[i].SongName = dr["song_name"].ToString();                        playing_list[i].SongId = result.ToString();                    }                }                dr.Close();            }            catch (Exception)            {                MessageBox.Show("私有连接异常!");            }            finally            {                db.CloseConnection();                if (playing_list[i]!=null)                {                    playing_list[i].Songurl = GetSongurlById(result.ToString());                }            }            ListViewItem item = new ListViewItem(playing_list[i].SongName);            ///注意            ///注意            if (i == 0)            {                item.SubItems.Add("正在播放");                wmp.URL = playing_list[i].Songurl;                try                {                    SetPlayCount(playing_list[i].SongId);                }                catch (Exception ex)                {                    MessageBox.Show(ex.Message);                }            }            else            {                item.SubItems.Add("未播放");                try                {                    SetPlayCount(playing_list[i].SongId);                }                catch (Exception ex)                {                    MessageBox.Show(ex.Message);                }            }            item.SubItems.Add(playing_list[i].SongId);            item.Tag = playing_list[i].Songurl;            lvPlay_list.Items.Add(item);            timer.Enabled = true;        }        /// 当前播放的歌曲在对象数组中的下标        /// </summary>        int playingIndex = 0;        /// <summary>        /// 播放方法        /// </summary>        public void Playing()        {            //重新写            if (wmp.playState==WMPLib.WMPPlayState.wmppsPlaying)            {                try                {                    //面板信息更改                    lblPlaying_name.Text = playing_list[playingIndex].SongName;                    lblNext_name.Text = playing_list[playingIndex+1].SongName;                }                catch (Exception)                {                    lblNext_name.Text = "无";                }            }            else if (wmp.playState == WMPLib.WMPPlayState.wmppsStopped)            {                try                {                    //状态更新                    lvPlay_list.Items[playingIndex].SubItems[1].Text = "已播放";                }                catch (Exception)                {                    return;                }                playingIndex++;                //为播放列表的最后一个时,返回index,跳出方法                if (playing_list[playingIndex] == null)                {                    playingIndex--;                    wmp.URL = string.Empty;                    return;                }                wmp.URL = playing_list[playingIndex].Songurl;                lvPlay_list.Items[playingIndex].SubItems[1].Text = "正在播放";                //面板提示信息更新                lblPlaying_name.Text = playing_list[playingIndex].SongName;                try                {                    lblNext_name.Text = playing_list[playingIndex + 1].SongName;                }                catch (Exception)                {                    lblNext_name.Text = "无";                }            }            //歌曲读取异常(为空,或,路径异常)            else if (wmp.playState==WMPLib.WMPPlayState.wmppsReady)            {                if (wmp.URL==string.Empty)                {                    //只要路径为空,只需要判定播放列表是否为空,否则直接播放                    if (playing_list[playingIndex] == null)                    {                        return;                    }                    wmp.URL = playing_list[playingIndex].Songurl;                    try                    {                        lvPlay_list.Items[playingIndex].SubItems[1].Text = "正在播放";                    }                    catch (Exception)                    {                        return;                    }                    //面板提示信息更新                    lblPlaying_name.Text = playing_list[playingIndex].SongName;                    try                    {                        lblNext_name.Text = playing_list[playingIndex +1].SongName;                    }                    catch (Exception)                    {                        lblNext_name.Text = "无";                    }                }                else                {                    lvPlay_list.Items[playingIndex].SubItems[1].Text = "路径异常";                    playingIndex++;                    //为播放列表的最后一个时,返回index,跳出方法                    if (playing_list[playingIndex] == null)                    {                        wmp.URL = string.Empty;                        return;                    }                    wmp.URL = playing_list[playingIndex].Songurl;                    try                    {                        lvPlay_list.Items[playingIndex].SubItems[1].Text = "正在播放";                    }                    catch (Exception)                    {                        return;                    }                                        //面板提示信息更新                    lblPlaying_name.Text = playing_list[playingIndex].SongName;                    try                    {                        lblNext_name.Text = playing_list[playingIndex + 1].SongName;                    }                    catch (Exception)                    {                        lblNext_name.Text = "无";                    }                }            }            else            {                return;            }        }        /// <summary>        /// 根据歌手id查找歌手图片路径        /// </summary>        /// <param name="id">singerId</param>        /// <returns>singerPhotoUrl</returns>        public string GetSingerurlById(string id)        {            string str2 = @"select resource_path from resource where resource_type='歌手图片地址'";            string singerphoto_url = db.ScalForString(str2);            string str = @"select singer_photo_url from singer_info where singer_id='" + id + "'";            string singer_url = db.ScalForString(str);            string sb = singerphoto_url + singer_url;            return sb;        }        /// <summary>        /// 根据歌曲id查找歌曲路径        /// </summary>        /// <param name="id">songId</param>        /// <returns>songUrl</returns>        public string GetSongurlById(string id)        {            string str = @"select resource_path from resource where resource_type = '歌曲地址'";            StringBuilder sb = new StringBuilder(db.ScalForString(str));            string str2 = @"select song_url from song_info where song_id = " + id + "";            sb.Append(db.ScalForString(str2));            return sb.ToString();        }        /// <summary>        /// 播放次数更新方法        /// </summary>        /// <param name="songId">歌曲Id的字符串格式</param>        /// <returns>是否成功</returns>        public bool SetPlayCount(string songId)        {            int result;            string str1 = @"select song_play_count from song_info where song_id=" + songId + "";            try            {                result = Convert.ToInt32(db.Scal(str1));            }            catch (Exception)            {                result = 0;            }            result++;            string str = @"update song_info set song_play_count = " + result + " where song_id=" + songId + "";            if (db.Non(str)>0)            {                return true;            }            else            {                return false;            }        }        /// <summary>        /// new国家lv_Login方法        /// </summary>        private void GetSingerType()        {            lv_Login.Clear();            lv_Login.Controls.Clear();            imglist.Images.Clear();            lv_Login.View = View.LargeIcon;            lv_Login.LargeImageList = imglist;            string str1 = @"select count(1) from singer_type";            int result;            try            {                result = Convert.ToInt32(db.Scal(str1));            }            catch (Exception)            {                return;            }            string str = @"select singertype_id, singertype_name from singer_type";            try            {                SqlDataReader dr = db.Dr(str);                if (dr.HasRows)                {                    for (int i = 0; i < result; i++)                    {                        dr.Read();                        Image img;                        try                        {                            img = Image.FromFile(@"D:\课程\S1\KTV\MyKTV\image" + Convert.ToString(dr["singertype_name"]) + ".png");                        }                        catch (Exception)                        {                            img = Image.FromFile("D:\\课程\\S1\\KTV\\MyKTV\\image\\singer_temp.jpg");                        }                        imglist.Images.Add(img);                        ListViewItem item = new ListViewItem(dr["singertype_name"].ToString(),i);                        item.Tag = Convert.ToString(dr["singertype_id"]);                        lv_Login.Items.Add(item);                    }                }                dr.Close();            }            catch (Exception)            {                MessageBox.Show("歌手地区读取异常!");            }            finally            {                db.CloseConnection();            }        }        /// <summary>        /// 获取歌手信息        /// </summary>        /// <param name="strCounts">条件下歌手个数查询语句</param>        /// <param name="str">条件下歌手信息查询语句</param>        private void GetSinger(string strCounts, string str)        {            //歌手lv的目标lv为歌曲            num = 1;            imglist.Images.Clear();            lv_Login.Clear();            lv_Login.Controls.Clear();            lv_Login.View = View.LargeIcon;            //确定大图标的图像列表对象            lv_Login.LargeImageList = imglist;            imglist.ImageSize = new System.Drawing.Size(72, 128);            int result = db.ScalForInt(strCounts);            SqlCommand comm = new SqlCommand(str, db.conn);            //new出对象数组,用于存储目标表格信息            Song[] song = new Song[result];            try            {                db.OpenConnection();                SqlDataReader dr = comm.ExecuteReader();                if (dr != null)                    if (dr.HasRows)                    {                        for (int i = 0; i < result; i++)                        {                            if (dr.Read())                            {                                //读取了歌手id,歌手名称                                song[i] = new Song();                                song[i].SingerId = dr["singer_id"].ToString();                                song[i].SingerName = dr["singer_name"].ToString();                            }                        }                        dr.Close();                    }            }            catch (Exception)            {                MessageBox.Show("私有连接异常!");            }            finally            {                db.CloseConnection();            }
            //改变imagelist的图片大小:imglist.ImageSize = new Size(32, 32);
            //循环读出图片url,加载对应图片到imglist,给items组合项添加对象数组中每一项            for (int i = 0; i < result; i++)            {                song[i].SingerPhoto = GetSingerurlById(song[i].SingerId);                Image img;                //亮点                try                {                    img = Image.FromFile(song[i].SingerPhoto);                }                catch (Exception)                {                    img = Image.FromFile("D:\\课程\\S1\\KTV\\MyKTV\\image\\singer_temp.jpg");                }                imglist.Images.Add(img);                ListViewItem item = new ListViewItem(song[i].SingerName, i);                item.Tag = song[i].SingerId;                lv_Login.Items.Add(item);            }        }        #region 删除播放列表歌曲,双击播放        ////删除选中歌曲按钮事件        private void btnDel_Click(object sender, EventArgs e)        {            int result;            try            {                result = Convert.ToInt32(lvPlay_list.SelectedItems[0].Index);            }            catch (Exception)            {                return;            }            //清空对象数组与列表            lvPlay_list.SelectedItems[0].Remove();            ///亮点            if (result == playingIndex)            {
                try                {                    if (playing_list[result + 1] != null)                    {                        for (int i = result + 1; i < playing_list.Length; i++)                        {                            playing_list[i - 1].SongId = playing_list[i].SongId;                            playing_list[i - 1].SongName = playing_list[i].SongName;                            playing_list[i - 1].Songurl = playing_list[i].Songurl;                        }                        wmp.URL = playing_list[result].Songurl;                    }                    else                    {                        playing_list[result] = playing_list[result + 1];                        wmp.URL = string.Empty;                    }                }                catch (Exception)                {                    wmp.URL = string.Empty;                }            }                   }        ////双击播放列表组件时        private void lvPlay_list_DoubleClick(object sender, EventArgs e)        {            try            {                wmp.URL = playing_list[Convert.ToInt32(lvPlay_list.SelectedItems[0].Index)].Songurl;                lvPlay_list.Items[playingIndex].SubItems[1].Text = "已播放";                playingIndex = Convert.ToInt32(lvPlay_list.SelectedItems[0].Index);                lvPlay_list.Items[playingIndex].SubItems[1].Text = "正在播放";            }            catch (Exception)            {                return;            }        }        ////列表循环方式按钮点击事件        private void btnState_Click(object sender, EventArgs e)        {        //    Timer timeResult = new Timer();        //    if (btnState.Text=="列表循环模式")        //    {        //        btnState.Text = "单曲循环模式";        //        timer.Enabled = false;        //        timeResult.Enabled = true;        //        timeResult.Interval = 1000;        //        timeResult.Tick += timeResult_Tick;        //    }        //    else if (btnState.Text=="单曲循环模式")        //    {        //        btnState.Text = "无循环模式";        //        timer.Enabled = true;        //        timeResult.Enabled = false;        //    }        //    else if (btnState.Text=="无循环模式")        //    {        //        btnState.Text = "列表循环模式";        //        timer.Enabled = false;        //        timeResult.Enabled = true;        //        timeResult.Interval = 1000;        //        timeResult.Tick += timeResult_Tick;        //    }        }        ////附加定时器事件        void timeResult_Tick(object sender, EventArgs e)        {
        //    if (wmp.playState==WMPLib.WMPPlayState.wmppsStopped&&btnState.Text=="单曲循环模式")        //    {        //        wmp.URL = playing_list[playingIndex].Songurl;        //    }        //    else if (btnState.Text=="列表循环模式")        //    {        //        int result=-1;        //        foreach (Song item in playing_list)        //        {        //            if (item!=null)        //            {        //                result++;        //            }        //            else        //            {        //                break;        //            }        //        }        //        if (playingIndex==result)        //        {        //            playingIndex = 0;        //        }        //    }        }        #endregion

用C#,SQL Server编写的音乐播放软件的更多相关文章

  1. SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

    原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之 ...

  2. sql server编写通用脚本自动统计各表数据量心得

    工作过程中,如果一个数据库的表比较多,手工编写统计脚本就会比较繁琐,于是摸索出自动生成各表统计数据量脚本的通用方法,直接上代码: /* 脚本来源:https://www.cnblogs.com/zha ...

  3. sql server编写简洁四则运算表达式脚本实现计算批次功能(C#等其它编程语言也能直接用此通用表达式)

    问题: 在数据库编程开发中,有时会遇到数据量比较大的情况,如果直接大批量进行添加数据.修改数据.删除数据,就会是比较大的事务,事务日志也比较大,耗时久的话会对正常操作造成一定的阻塞.虽不至于达到删库跑 ...

  4. 安装 SQL Server 2005 的硬件和软件要求(官方全面)

    SQL Server 2005 安装要求 本主题介绍了安装 SQL Server 205 的硬件和软件要求,以及查看安装文档的说明. 硬件和软件要求(32 位和 64 位) 访问 SQL Server ...

  5. sql server编写脚本求解第1天1分钱之后每天两倍持续一个月的等比数列问题

    一.问题 问题1 场景:如果你未来的丈母娘要求你,第1天给她1分钱,第2天给2分钱,第3天给4分钱,以此类推,每天给前一天的2倍,给1个月(按30天)算就行.问:第30天给多少钱,总共给多少钱? 问题 ...

  6. Sql server 编写99乘法表

    Sql 组织编写语句 declare @one int,@tow int,@str varchar(100),@num intselect @one=1while(@one<=9)beginse ...

  7. 安装 SQL Server 2012 的硬件和软件要求(官方全面)

    以下各节列出了安装和运行 SQL Server 2012 的最低硬件和软件要求. 有关 SharePoint 集成模式下 Analysis Services 的要求的详细信息,请参阅硬件和软件要求(S ...

  8. sql server编写archive通用模板脚本实现自动分批删除数据

    博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常 ...

  9. sql server编写一个语句脚本自动清空各表数据以初始化数据库

    问题:有时已有项目要移植,例如原来在广州地区使用的某系统,突然说惠州那边也要用这套一样的系统.或者,在demo环境下弄了一些测试数据.然后要清空全部表数据.如果表比较多的话,逐个表手工编写脚本就太麻烦 ...

随机推荐

  1. TreeMap 的实现

    TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点. TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 Tre ...

  2. Hive的API的说明

    之前通过命令行的界面可以操作Hive,可是在实际的生产环境中,往往都是需要写API的,因此对Hive的API简单的列举了一下.并对Hive进行了一个简单的封装.具体的封装可以参考github网站主页: ...

  3. iOS学习之设计模式

    iOS开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~ (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷 ...

  4. SQL联合查询(内联、左联、右联、全联)的语法

    联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join .全联full outer join 的好处及用法. 联 ...

  5. easyui propertygrid 动态绑定

    从$.fn.datagrid.defaults继承,覆盖默认值 $.fn.propertygrid.defaults propertygrid 提供用户一个接口,浏览和编辑对象属性,propertyg ...

  6. 兼容解决 IE 、火狐、谷歌浏览器中 Iframe框架的页面缓存的方法

    <script type="text/javascript"> document.write('<iframe src="/ad_footer.html ...

  7. springMvc 报错

    org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.util.Ar ...

  8. 软件工程总结(Final)

    又到了学期末了,此时此刻软件工程课业接近尾声了.时间过得太快,仿佛昨天这学期的课才开始, 开学时,老师让我们提出了不少对这门课的问题和疑惑,通过一学期的努力学习,我可以试着解开我自己的疑问了. 下面是 ...

  9. ajax异步提交的两种方法

    第一种是原始的ajax,第二种是在jQuery中使用ajax.这是我为测试两种提交方法而写的一段代码. 1.struts.xml <package name="json" e ...

  10. 黑马程序员:Java编程_7K面试题之银行业务调度系统

    =========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号 ...