驾照理论考试速成,模访一个软件做成的
数据库是mssql2005,在JzData.rar文件中,附加即可;
如果你使用的是sql 2000的数据库,请将debug目录下的access数据库jzdata.mdb转换成sql server数据库,在查询分析器里执行:
exec sp_configure 'show advanced options',1 reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
create database jz
go
use jz
SELECT *
INTO car
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="D:\GCLsoft\jz\Debug\jzdata.mdb";User ID=Admin;Password=' )...car
SELECT *
INTO moto
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="D:\GCLsoft\jz\Debug\jzdata.mdb";User ID=Admin;Password=' )...moto
use jz
alter table car alter column id int not null
go
alter table car add constraint pkKey1 primary key (id)
alter table moto alter column id int not null
go
alter table moto add constraint pkKey2 primary key (id) --设置主键
数据库名字:jz
代码是C++写的,用vc6打开
代码写的不好,如果你有什么好的建议,欢迎与我联系
源代码下载地址
在sql2000下,点考试会出现错误:如果语句中包含 UNION 运算符,那么 ORDER BY 子句中的项就必须出现在选择列表中。解决方法,改用视图,在代码里要修改一下:
if exists
(select * from dbo.sysobjects where id = object_id(N'[dbo].[v1]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view v1
go
create view v1 as
select top 30 * from car where zhanjie=1 ORDER BY NEWID()
go
if exists
(select * from dbo.sysobjects where id = object_id(N'[dbo].[v2]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view v2
go
create view v2 as
select top 20 * from car where zhanjie=2 ORDER BY NEWID()
go
select * from v1
union all
select * from v2
如果不想使用视图,sql语句这样写,也可以解决问题:
select * from
(
select * from
(
select top 30 * from car where zhanjie=1 ORDER BY NEWID()
) as a1
union all
select * from
(
select top 20 * from car where zhanjie=2 ORDER BY NEWID()
) as a2
) as a3
posted @
2010-01-29 13:22 fly931 阅读(1357) |
评论 (0) |
编辑 收藏
输入汉字,点击<开始作诗>按钮即可.
轻松制作藏头诗,只需输入几个汉字,系统就可以自动生成具有唐诗风格的藏头诗。可以用来做姓名藏头诗、爱情藏头诗、祝福藏头诗等等。
绿色软件,大小只有2.8M
v2.0 下载地址
posted @
2009-11-10 21:09 fly931 阅读(1027) |
评论 (1) |
编辑 收藏
不用登录qq、阿里旺旺,也可以知道对方在不在线,QQ在线查看器。也可用来查看对方是否对你“隐身可见”或“在线对其隐身”。
好友上下线提醒,输入对方QQ,点击“增加”即可,可设置自动刷新。
v1.1.5 聊天工具支持:腾迅QQ,淘宝旺旺,阿里巴巴贸易通,对方上线下线可即时提醒
v1.5 改正最新的QQ不能判断是否在线的bug
v1.6 完善了界面,增加了导入大量QQ号的功能
v1.7
下载地址 保存了QQ上下线的记录,可以将QQ上线、下线提醒发送到您的邮箱进行通知
posted @
2009-11-10 20:52 fly931 阅读(993) |
评论 (4) |
编辑 收藏
抢占名人博客的沙发,名人一写博马上知道,实时监视,让你轻而易举坐得了沙发
添加方法:复制你想订阅的博客Rss地址,点击“添加Rss”按钮即可完成添加;
v1.7
下载地址 怎样监视QQ空间:
点击“添加博客”按钮,出现下面的对话框,把“QQ空间”选项选中,在“用户名/号码”一栏写上你要监视的QQ号(当然前提是他的QQ空间没有设置密码),添加即可。如果是其他博客,一般是写出现在博客地址中的用户名,如韩寒的新浪博客的用户名是twocold,在用户名一栏中写上twocold即可完成添加。
什么是RSS订阅:
博客或新闻的网站上常常可以看到:
或
,点击这个图案,把它的网址复制粘贴到软件的最上面的RSS一栏中,点“添加Rss”即可完成添加。
你也可以添加新闻订阅,只要是Rss都可以用<博客沙发王〉订阅。
检测到更新后,会有声音提示,屏幕右下角提示。
下载地址
posted @
2009-08-30 02:01 fly931 阅读(2173) |
评论 (11) |
编辑 收藏
短信群发软件 1.6
快速自动地群发和回复短信,有自动发送订单管理,登录账户管理,短信收发日志导出,查询短信记录,新短信来时播放铃声提醒等功能;
必须安装Microsoft SQL Server 2000数据库,( 1.6Access版本(无须安装SQL Server):下载地址 )
硬件需要:短信猫
使用说明:
1.将数据库文件(MYNOTE_Log.LDF,MYNOTE_Data.MDF)复制到SQL Server安装路径下的“Data”文件夹中。打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。将弹出“附加数据库”对话框,选择要附加数据库的.mdf文件。单击【确定】按钮,即可完成数据库的附加操作
2.收发短信前请先连接短信猫,插入SIM手机卡
3.导入txt电话号码文件应以start开始,end结束,电话号码换行显示
4.SQL数据库设置里,主机名为127.0.0.1或(local)
密码要改成你的密码,再按保存修改才生效
数据库名字是MYNOTE
1.0版本:下载地址
1.1版本:下载地址 修改了查询收发日志的一个错误,修改了连接数据库的设置
1.2版本:下载地址 修改了插入常用短信短语中删除的错误,修改了发短信内容字数140个的限制
1.5版本:下载地址 改正了自动发送短信的功能,减少了不必要的数据
1.5Access版本(无须安装SQL Server):下载地址
1.5.5Access版本(无须安装SQL Server):下载地址 改正自动发送短信订单的一个错误,MSSQL版本的没有错误
1.6Access版本(无须安装SQL Server):下载地址
posted @
2009-05-15 20:46 fly931 阅读(693) |
评论 (0) |
编辑 收藏
v3.0 加快了诗词数据加载速度,诗词总页数达4500页
下载地址v3.1.5
下载地址
v3.2 完善了所有功能
下载地址
华军下载: http://www.newhua.com/soft/84610.htm
霏凡下载: http://www.crsky.com/soft/16464.html
中关村下载:http://xiazai.zol.com.cn/detail/36/356020.shtml
下载地址
《唐诗宋词》的精简版:《唐诗宋词三百首》,只收录唐诗300首,下载地址
SQL优化前后的代码:
void CLeftTree::ByDynasty()
{ CTreeCtrl* m_Tree=&GetTreeCtrl();
CString mytempsql;
// mytempsql=_T("select A.d_dynasty AS MYDYNASTY,A.d_author AS MYAUTHOR,P.d_title AS MYTITLE FROM\
/**//// ((t_author AS A RIGHT JOIN t_dynasty AS D ON A.d_dynasty=D.d_dynasty)\
// LEFT JOIN t_poetry AS P ON A.d_author=P.d_author )ORDER BY D.d_num ASC,A.d_author ASC ,P.d_author ASC");
mytempsql.Format(_T("select D.d_dynasty AS MYDYNASTY,A.d_author AS MYAUTHOR,P.d_title AS MYTITLE FROM\
((t_author AS A RIGHT JOIN t_dynasty AS D ON A.d_dynasty=D.d_dynasty) LEFT JOIN t_poetry AS P ON A.d_author=P.d_author )\
ORDER BY D.d_num ASC,%s ASC ,%s ASC"),str_AuthorByTime,str_ShiByTime);
myado.OnInitADO();
myado.m_pRecordset=myado.GetRecordSet((_bstr_t)mytempsql);
CString str_myDynasty,str_myAuhor,str_myTitle;
_variant_t varD,varA,varT;
try
{
while(!myado.m_pRecordset->adoEOF)
{
// varD = myado.m_pRecordset->GetCollect("MYDYNASTY");
// if(varD.vt!=VT_NULL)
// {
str_myDynasty=(TCHAR*)(_bstr_t)myado.m_pRecordset->GetCollect("MYDYNASTY");
if(wcscmp(str_myDynasty,oldD)!=0)
{
TreeItem[0]=m_Tree->InsertItem(str_myDynasty);
oldD=str_myDynasty;
// oldA=_T("");
}
// }
varA=myado.m_pRecordset->GetCollect("MYAUTHOR");
if(varA.vt!=VT_NULL)
{ str_myAuhor=(TCHAR*)_bstr_t(varA);
if(wcscmp(str_myAuhor,oldA)!=0)
{
TreeItem[1]=m_Tree->InsertItem(str_myAuhor,TreeItem[0]);
oldA=str_myAuhor;
}
}
varT=myado.m_pRecordset->GetCollect("MYTITLE");
if(varT.vt!=VT_NULL)
{
str_myTitle=(TCHAR*)_bstr_t(varT);
if(wcscmp(str_myTitle,oldT))
{
TreeItem[2]=m_Tree->InsertItem(str_myTitle,TreeItem[1]);
oldT=str_myTitle;
}
}
myado.m_pRecordset->MoveNext();
}
myado.ExitConnect();
}
catch(_com_error e)
{
MessageBox(e.Description());
return;
}
/**//* CTreeCtrl* m_Tree=&GetTreeCtrl();
try
{
myado.OnInitADO();
myado2.OnInitADO();
myado4.OnInitADO();
CString sqltempsql=_T("select d_dynasty from t_dynasty order by d_num asc");
myado.m_pRecordset=myado.GetRecordSet((_bstr_t)sqltempsql);
while(!myado.m_pRecordset->adoEOF)
{
str_dynasty=(TCHAR*)(_bstr_t)myado.m_pRecordset->GetCollect("d_dynasty");
TreeItem[0]=m_Tree->InsertItem(str_dynasty,0,0);
sql.Format(_T("select d_author from t_author where d_dynasty='%s' order by %s asc"),str_dynasty,m_strAuthorByTime);
myado2.m_pRecordset=myado2.GetRecordSet((_bstr_t)sql);
while(!myado2.m_pRecordset->adoEOF)
{
str_tempauthor=(TCHAR*)(_bstr_t)myado2.m_pRecordset->GetCollect("d_author");
TreeItem[1]=m_Tree->InsertItem(str_tempauthor,0,0,TreeItem[0]);
OnShowTitles(str_tempauthor);
myado2.m_pRecordset->MoveNext();
}
myado.m_pRecordset->MoveNext();
}
myado4.ExitConnect();
myado2.ExitConnect();
myado.ExitConnect();
}
catch(_com_error e)
{
MessageBox(e.Description());
return;
}*/
}
posted @
2009-05-01 22:20 fly931 阅读(1481) |
评论 (4) |
编辑 收藏
解决了打开缓慢的问题,先显示主窗口,再加载诗词数据
下载地址
v2.6版本:增加了搜索诗人;在阅读模式是,点下拉菜单时发生变化;
诗词总数达到4000页 下载地址
v2.7版本: 改正了部分单引号不能查询和保存的错误;
下载地址
v2.7繁体版本:在繁体字操作系统下可正常显示诗词,用Unicode编码,诗词数据尚未改成繁体字
下载地址
v2.8版本下载:用Unicode编码,在不同语言的操作系统下可正常显示诗词
下载地址
推荐下载v2.9版本:支持繁体操作系统,诗词总页数达到4300页
下载地址
下载地址
很幼稚的方法,在debug下有错误,不过没更好的方法了,代码如下:
void CTangshiView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
AddComboKindData();
SetFirstFont();
b_MidText=GetPrivateProfileInt("setting","midtext",0,IniFile);
SetTimer(100,0,NULL);
// KillTimer(100);
}
void CTangshiView::OnTimer(UINT nIDEvent)
{
if(nIDEvent==100)
{
CMainFrame* m_p=(CMainFrame*)AfxGetApp()->m_pMainWnd;
m_p->m_LeftTree->AddTreeData();
m_p->m_LeftTree->GetAllNum();
char mystrbuf[102];
CString strtemp_Dynasty,strtemp_Author,strtemp_Title;
GetPrivateProfileString("load","dynasty","当代",mystrbuf,102,IniFile);
strtemp_Dynasty=mystrbuf;
GetPrivateProfileString("load","author",NULL,mystrbuf,102,IniFile);
strtemp_Author=mystrbuf;
GetPrivateProfileString("load","title",NULL,mystrbuf,102,IniFile);
strtemp_Title=mystrbuf;
m_p->m_LeftTree->FirstLoad(strtemp_Dynasty,strtemp_Author,strtemp_Title);
// SASSSSSSSSSSSSSSSSSSSSSS
m_p->b_midplay=GetPrivateProfileInt("setting","midplay",1,IniFile);
GetPrivateProfileString("setting","mid","tangshi.mid",m_p->buf,1024,IniFile);
if(m_p->b_midplay)
m_p->PlaySoundAA(m_p->buf);
KillTimer(100);
//EEEEEEEEEEEEEEEEEEEEEEEEEEEEE
}
CFormView::OnTimer(nIDEvent);
}
搜索的代码:
void CSearch::OnButtonSearch()
{
UpdateData();
m_strSearch.TrimLeft();
if(m_strSearch=="")
{
MessageBox("请输入要搜索的诗词","唐诗宋词",64);
m_EditSearch.SetFocus();
return;
}
if(m_checkBaidu)
{
ShellExecute(NULL,NULL,"http://www.baidu.com/s?wd="+m_strSearch,NULL,NULL,SW_SHOWNORMAL);
// return;
}
if(m_checkBaike)
{
ShellExecute(NULL,NULL,"http://baike.baidu.com/list-php/dispose/searchword.php?word="+m_strSearch,NULL,NULL,SW_SHOWNORMAL);
// return;
}
CString sql_search, sql_or,sql_num;
sql_or=m_checkTitle?"d_title":m_checkAuthor?"d_author":"d_poetry";
myado.OnInitADO();//GROUP BY number HAVING COUNT(number) > 1
// sql_search.Format("select count(*) as num from t_poetry where %s like '%'%s'%'",sql_or,m_strSearch);
CString temp_strSearch;
temp_strSearch=m_strSearch;
temp_strSearch.Replace("'","''");
sql_search.Format("select distinct d_title,d_poetry,d_author from t_poetry where %s like '%s%s%s' order by d_author",sql_or,"%",temp_strSearch,"%");
myado.m_pRecordset.CreateInstance(__uuidof(Recordset));
myado.m_pRecordset->Open((_bstr_t)sql_search,myado.m_pConnection.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
if(myado.m_pRecordset->RecordCount>0)
{
int j;
j=0;
m_List.DeleteAllItems();
while(!myado.m_pRecordset->adoEOF)
{
m_List.InsertItem(j,"");
m_List.SetItemText(j,0,(char*)(_bstr_t)myado.m_pRecordset->GetCollect("d_title"));
m_List.SetItemText(j,1,(char*)(_bstr_t)myado.m_pRecordset->GetCollect("d_poetry"));
m_List.SetItemText(j,2,(char*)(_bstr_t)myado.m_pRecordset->GetCollect("d_author"));
myado.m_pRecordset->MoveNext();
j++;
}
CString str_myshow;
str_myshow.Format("共找到“%s”%d篇",m_strSearch,j);
SetDlgItemText(IDC_STATIC_SHOW,str_myshow);
}
else
{
SetDlgItemText(IDC_STATIC_SHOW,"未找到“"+m_strSearch+"”,百度一下吧!");
}
myado.ExitConnect();
}
posted @
2009-04-28 10:32 fly931 阅读(1402) |
评论 (5) |
编辑 收藏