06
2013
04

今天做一个网站与另外一个网站整合,学会了视图在不同数据库中的使用

1、访问不同的sql服务器的数据库表,通过一个视图使用 OPENDATASOURCE  来完成。  

Create VIEW [dbo].[视图名称]  

AS  

Select *   

FROM OPENDATASOURCE(  

    'SQLOLEDB',   

    'PWD=密码;UID=用户名;Initial Catalog=数据库名;SERVER=服务器'  

16
2013
03

asp.net模版页面的高级应用

//模版页面.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
<a href="#">链接1</a><br/>
<a href="#" id="link2" runat="server">链接2</a><br/>
<a href="#">链接3</a>
</body>
</html>


//Template类

16
2013
03

asp.net比较大型的企业网站的项目、目录结构问题

大型企业网站不同于一般的网站(几个页面就行了),大型网站有大量的页面,权限控制等也很复杂,为了提高开发效率,代码能有效重用,还是得注意一下项目的结构问题,不然乱开发效率是很低的,还不利于维护。


15
2013
03

asp.net webconfig下的httphandler模块配置


搞了半天的结果。。

//system.web下

06
2013
02

C# DataGrid 控件在winform里显示行号

code:

        #region 行绘制事件 ,为DataGridView每行写上序号
        /// <summary>
        /// 行绘制事件 ,为DataGridView每行写上序号
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, this.dataGridView.RowHeadersWidth - 4, e.RowBounds.Height);
            TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(),
            this.dataGridView.RowHeadersDefaultCellStyle.Font,
            rectangle, this.dataGridView.RowHeadersDefaultCellStyle.ForeColor,
            TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
        }
        #endregion


27
2013
01

[转载]linux学习curses(3) 学习输入

code:

//字符输入
#include <curses.h>
main()
{
    int ch;
    int x=5,y=5;
    initscr();
    keypad(stdscr,TRUE);
    curs_set(0);
    noecho();
    mvaddch(y,x,'A');
    while(1)
    {
        ch=getch();
        //mvaddch(y,x,' ');
        //clrtoeol();
        erase();
        //clear();
        switch(ch)
        {
        case KEY_UP:
            y--;
            break;
        case KEY_DOWN:
            y++;
            break;
        case KEY_LEFT:
            x--;
            break;
        case KEY_RIGHT:
            x++;
            break;
        }
        mvaddch(y,x,'A');
        refresh();
    }        
    endwin();
}
//字符串输入
#include <curses.h> 
main()
{
    char name[9]={0};
    int r;
    initscr();
    //绘制UI
    mvaddstr(4,10,"用户:[        ]");
    //输入
    r=mvgetnstr(4,16,name,8);
    //name[r]=0;
    //打印输入
    mvprintw(7,10,"你输入的是:%s",name);
    refresh();
    //输入字符    
    getch();
    endwin();
}
 //格式输入
#include <curses.h>
void init();
void drawUi();
void dealInput();
void destroy();
main()
{
init();
drawUi();
dealInput(); 
destroy();
}
void dealInput()
{
int a,b;
while(1)
{
mvaddstr(2,3,"     ");
mvscanw(2,3,"%d",&a);
mvaddstr(2,11,"     ");
mvscanw(2,11,"%d",&b);
mvaddstr(2,19,"      ");
mvprintw(2,19,"%d",a+b);
refresh();
}
}
void drawUi()
{
mvaddstr(2,2,"[     ]+[     ]=[      ]");
refresh();
}
void destroy()
{
endwin();
}
void init()
{
initscr();
}


27
2013
01

[转载]linux学习curses(2) 时间显示器

code:

#include <curses.h>
#include <time.h>
#include <unistd.h>
void init();
void drawui();
void business();
void destroy();
main()
{
init();
drawui();
business();
destroy();
}
void business()
{
time_t tt;
struct tm *t;
while(1)
{
//取时间
tt=time(0);
t=localtime(&tt);
//显示时间
mvprintw(LINES/2,(COLS-8)/2,
"%02d:%02d:%02d",
t->tm_hour,t->tm_min,t->tm_sec);
//刷新屏幕
refresh();
sleep(1);
}
}
void drawui()
{
box(stdscr,0,0);
}
void destroy()
{
endwin();
}
void init()
{
initscr();
}


27
2013
01

[转载]linux学习curses(1)

code:

#include<curses.h>
/*
在initscr();后调用。
终端是否支持颜色:bool has_colors();
初始化颜色:int start_colors();
定义颜色对:int init_pair(short pair,short fore,short back);
使用颜色对:COLOR_PAIR(short pair);
*/
int main()
{
    WINDOW *w=initscr();
    if(has_colors()==TRUE)
    {
        start_color();
        init_pair(1,COLOR_RED,COLOR_WHITE);
        init_pair(2,COLOR_RED,COLOR_GREEN);
        bkgd(COLOR_PAIR(2));//整体颜色
    }
    border(0,0,0,0,0,0,0,0);
    box(stdscr,0,0);//画边框,0都代表系统默认格式
    mvhline(2,10,'=',20);//第几行第几列输出多少个字符
    //mvhline(2,10,'|',20);
    mvaddch(3,10,'A'|A_BOLD|A_UNDERLINE|COLOR_PAIR(1));//指定位置输出字符//man attron
    attron(COLOR_PAIR(1));//开启属性
    mvaddstr(5,10,"hello");//输出字符串
    attroff(COLOR_PAIR(1));//关闭属性
    mvprintw(9,10,"行:%d,列:%d",LINES,COLS);//格式字符输出到窗口
    refresh();//刷屏,显示效果
    //wrefresh(WINDOW *w);
    getch();
    endwin();
    return 0;
}


25
2013
01

linux c定位读取数据pread

code:

#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
int a=6666;
main()
{
char filename[100];
int fd;
int data;
sprintf(filename,"/proc/%d/mem",getpid());//本程序虚拟内存文件
fd=open(filename,O_RDWR);
if(fd==-1) printf("open error:%m\n"),exit(-1);
pread(fd,&data,4,(off_t)&a);//从虚拟内存的相同地址中,读取实际地址位置相同的数据到data中
//pread() = lseek()+read()
//lseek(fd,(off_t)&a,SEEK_SET);
//read(fd,&data,4);   
printf("%d\n",data);
close(fd);
}


25
2013
01

asp.net调用飞信免费发短信

之前用过一段时间,已经证实不能再用!

        #region 免费发送飞们接口(2014-01-06 16:20测试有效)
        /// <summary>
        /// 免费发送飞们接口(要开通飞信把对方加为好友才能发,也可以给自己发做测试)
        /// </summary>
        /// <param name="sendNumber">登陆飞信手机号</param>
        /// <param name="sendPassword">登陆密码</param>
        /// <param name="receiveNumber">接收手机</param>
        /// <param name="Content">短信内容</param>
        /// <returns></returns>
        public bool sendfetion(string sendNumber, string sendPassword, string receiveNumber, string Content)
        {
            string url = string.Format("https://quanapi.sinaapp.com/fetion.php?u={0}&p={1}&to={2}&m={3}", sendNumber, sendPassword, receiveNumber, HttpUtility.UrlEncode(Content));
            string strRet = "";
            try
            {
                HttpWebRequest hr = (HttpWebRequest)WebRequest.Create(url);
                hr.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
                hr.Method = "GET";
                hr.Timeout = 30 * 60 * 1000;
                WebResponse hs = hr.GetResponse();
                Stream sr = hs.GetResponseStream();
                StreamReader ser = new StreamReader(sr, Encoding.Default);
                strRet = ser.ReadToEnd();
            }
            catch (Exception er)
            {
                strRet = "";
            }
            if (!strRet.Contains(":0")) return false;//成功时返回数据:{"result":0,"message":"\u53d1\u9001\u6210\u529f"}
            return true;
        } 
        #endregion