mfc通过ado连接access 老是无效指针,求高手指点

// Snake.cpp : 定义应用程序的类行为。
//

#include "stdafx.h"
#include "afxwinappex.h"
#include "afxdialogex.h"
#include "Snake.h"
#include "MainFrm.h"
#include "winsock2.h"

#include "SnakeDoc.h"
#include "SnakeView.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

// CSnakeApp

BEGIN_MESSAGE_MAP(CSnakeApp, CWinAppEx)
ON_COMMAND(ID_APP_ABOUT, &CSnakeApp::OnAppAbout)
// 基于文件的标准文档命令
ON_COMMAND(ID_FILE_NEW, &CWinAppEx::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, &CWinAppEx::OnFileOpen)
END_MESSAGE_MAP()

// CSnakeApp 构造

CSnakeApp::CSnakeApp()
{
m_bHiColorIcons = TRUE;

// 支持重新启动管理器
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;

#ifdef _MANAGED
// 如果应用程序是利用公共语言运行时支持(/clr)构建的,则:
// 1) 必须有此附加设置,“重新启动管理器”支持才能正常工作。
// 2) 在您的项目中,您必须按照生成顺序向 System.Windows.Forms 添加引用。
System::Windows::Forms::Application::SetUnhandledExceptionMode(System::Windows::Forms::UnhandledExceptionMode::ThrowException);
#endif

// TODO: 将以下应用程序 ID 字符串替换为唯一的 ID 字符串;建议的字符串格式
//为 CompanyName.ProductName.SubProduct.VersionInformation
SetAppID(_T("Snake.AppID.NoVersion"));

// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中

}

// 唯一的一个 CSnakeApp 对象

CSnakeApp theApp;

// CSnakeApp 初始化

BOOL CSnakeApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);

CWinAppEx::InitInstance();






AfxEnableControlContainer();
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));

// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些想不到的错误。
try
{
    // 打开本地Access库Demo.mdb
    m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.accdb", "", "", adModeUnknown);

}
catch (_com_error& e)
{
    //调用在CAdoRWAccessDlg中打印错误信息的静态函数
    //CAboutDlg::dump_com_error(e);
    return FALSE;
}




// 初始化 OLE 库
/*if (!AfxOleInit())
{
    AfxMessageBox(IDP_OLE_INIT_FAILED);
    return FALSE;
}*/

AfxEnableControlContainer();

EnableTaskbarInteraction(FALSE);

// 使用 RichEdit 控件需要  AfxInitRichEdit2() 
// AfxInitRichEdit2();

// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,

SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
LoadStdProfileSettings(4);  // 加载标准 INI 文件选项(包括 MRU)


InitContextMenuManager();

InitKeyboardManager();

InitTooltipManager();
CMFCToolTipInfo ttParams;
ttParams.m_bVislManagerTheme = TRUE;
theApp.GetTooltipManager()->SetTooltipParams(AFX_TOOLTIP_TYPE_ALL,
    RUNTIME_CLASS(CMFCToolTipCtrl), &ttParams);

// 注册应用程序的文档模板。文档模板
// 将用作文档、框架窗口和视图之间的连接
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CSnakeDoc),
    RUNTIME_CLASS(CMainFrame),       // 主 SDI 框架窗口
    RUNTIME_CLASS(CSnakeView));
if (!pDocTemplate)
    return FALSE;
AddDocTemplate(pDocTemplate);


// 分析标准 shell 命令、DDE、打开文件操作的命令行
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);



// 调度在命令行中指定的命令。如果
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
if (!ProcessShellCommand(cmdInfo))
    return FALSE;

// 唯一的一个窗口已初始化,因此显示它并对其进行更新
m_pMainWnd->MoveWindow(0,0,645,645,1);
m_pMainWnd->CenterWindow();
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
// 仅当具有后缀时才调用 DragAcceptFiles
//  在 SDI 应用程序中,这应在 ProcessShellCommand 之后发生
return TRUE;

}

int CSnakeApp::ExitInstance()
{
//TODO: 处理可能已添加的附加资源
AfxOleTerm(FALSE);

return CWinAppEx::ExitInstance();

}

// CSnakeApp 消息处理程序

// 用于应用程序“关于”菜单项的 CAboutDlg 对话框

class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();

// 对话框数据
enum { IDD = IDD_ABOUTBOX
};
public:
void dump_com_error(_com_error &e);
_RecordsetPtr m_pRecordset;
//_RecordsetPtr m_pRecordset1;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持

// 实现
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnBnClickedButton1();
CListBox m_AccessList;
};

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_AccessList);
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON1, &CAboutDlg::OnBnClickedButton1)
END_MESSAGE_MAP()

// 用于运行对话框的应用程序命令
void CSnakeApp::OnAppAbout()
{
CAboutDlg aboutDlg;
aboutDlg.DoModal();
}

void CAboutDlg::dump_com_error(_com_error &e)
{
CString ErrorStr;

_bstr_t bstrSource(e.Source());
_bstr_t bstrDescription(e.Description());
ErrorStr.Format(L"\n\tADO Error\n\tCode = %08lx\n\tCode meaning = %s\n\tSource = %s\n\tDescription = %s\n\n",
    e.Error(), e.ErrorMessage(), (LPCTSTR)bstrSource, (LPCTSTR)bstrDescription);
//在调试窗口中打印错误信息,在Release版中可用DBGView查看错误信息
::OutputDebugString((LPCTSTR)ErrorStr);

#ifdef _DEBUG
AfxMessageBox(ErrorStr, MB_OK | MB_ICONERROR);
#endif

}

void CAboutDlg::OnBnClickedButton1()
{
_variant_t var;
CString strName, strAge;
m_AccessList.ResetContent();
strName = strAge = "";
try
{
if (!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox(L"表内数据为空");
return;
}
while (!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("time");
if (var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("score");
if (var.vt != VT_NULL)
strAge = (LPCSTR)_bstr_t(var);

        m_AccessList.AddString(strName + " --> " + strAge);

        m_pRecordset->MoveNext();
    }
    m_AccessList.SetCurSel(0);

}
catch (_com_error& e)
{
    dump_com_error(e);
}

}

// CSnakeApp 自定义加载/保存方法

void CSnakeApp::PreLoadState()
{
BOOL bNameValid;
CString strName;
bNameValid = strName.LoadString(IDS_EDIT_MENU);
ASSERT(bNameValid);
GetContextMenuManager()->AddMenu(strName, IDR_POPUP_EDIT);
}

void CSnakeApp::LoadCustomState()
{
}

void CSnakeApp::SaveCustomState()
{
}

// CSnakeApp 消息处理程序

1个回答

无效指针就是前一步创建的时候没有成功,导致后面空指针。主要自己打印对应出错的时候的错误信息,然后对应解决

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mfc中用ado链接access数据库后的查询使用问题
新人 mfc作业 是地铁查询系统 已经用ado链接了access但那几个对象指针完全不知道怎么用_(:3」∠)_ 以及数据库中的里程数据是相邻两站间的 该如何实现输入起点终点来定位数据库中的里程数据从而计算输出_(:3」∠)_ 求教求教
mfc利用ado链接access数据库
连接之后并没有自动生成一些和ado相关的类,是正常的么。。。
vs2010 mfc ADO连接SQL server 程序不解
各位网友, 我在网站下载的一个MFC ADO方式连接SQL server数据库代码有个地方不明白,请帮忙看看 新建一个按钮,加入如下代码: void CADOTESTDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 1. ADOConn conn; 2. conn.OnInitADOConn(); 3. _bstr_t vSQL; 4. vSQL = "INSERT INTO [dbtest].[dbo].[userinfo] ([username],[userpwd]) VALUES('seamanj','123')"; 5. conn.ExecuteSQL(vSQL); 6. conn.ExitConnect(); 7. conn.m_pConnection; } MFC 中debug执行完第2行,m_pConnection中就有了地址,SQL server 中执行Select * from sys.dm_exec_connections可看到新的连接,但是执行完第6行应该m_pConnection中的地址被清空,并且断开连接的,可是实际情况是一直到执行完所有的代码并结束,m_pConnection才被清空并断开连接。 哪位能帮我解释下,谢谢。 ``` void ADOConn::ExitConnect() { // 关闭记录集和连接 if (m_pRecordset != NULL) m_pRecordset->Close(); m_pConnection->Close(); // 释放环境 ::CoUninitialize(); //CString temp=_T("0"); } ``` ``` void ADOConn::OnInitADOConn() { // 初始化OLE/COM库环境 //CoInitialize(NULL)和AfxOleInit()的区别: https://blog.csdn.net/zhoubl668/article/details/4139933 ::CoInitialize(NULL); try { // 创建Connection对象 m_pConnection.CreateInstance("ADODB.Connection"); // 设置连接字符串,必须是BSTR型或者_bstr_t类型 _bstr_t strConnect = "Provider=SQLOLEDB; Server=127.0.0.1;Database=dbtest; uid=lnhv013710; pwd=013710;"; m_pConnection->Open(strConnect,"","",adModeUnknown); } // 捕捉异常 catch(_com_error e) { // 显示错误信息 AfxMessageBox(e.Description()); } } ``` ``` #pragma once class ADOConn { // 定义变量 public: //添加一个指向Connection对象的指针: _ConnectionPtr m_pConnection; //添加一个指向Recordset对象的指针: _RecordsetPtr m_pRecordset; // 定义方法 public: ADOConn(); virtual ~ADOConn(); // 初始化—连接数据库 void OnInitADOConn(); // 执行查询 _RecordsetPtr& GetRecordSet(_bstr_t bstrSQL); // 执行SQL语句,Insert Update _variant_t BOOL ExecuteSQL(_bstr_t bstrSQL); void ExitConnect(); }; ```
VC++6.0 MFC通过ADO连接sql sever数据库
我现在是准备做一个登录界面,用户名称和密码都保存在数据库中。 CString logIn="select acc_user,acc_passwd from accounts where acc_user = '"+m_edit_userName+"' and acc_passwd = '"+m_edit_passWord+"'"; m_adodc_logIn.SetRecordSource(logIn); m_adodc_logIn.Refresh(); //然后我不知道该怎样判断是否查找成功,后来想定义了一个DataGrid,数据源指向 //m_adodcsd_logIn,通过判断DataGrid是否为空来判断是否成功查找到用户。 if(){ //这里我试过m_datagrid_logIn.GetDlgItem(0)!=NULL MessageBox(_T("登录成功!")); } else{ MessageBox(_T("登录失败!")); } 但是这样判断不可以。请教各位大牛该怎么设计。求指点。
MFC调试无法连接Access
电脑系统win10 开发软件vs2012 MFC连接Access数据库,调试时无法连接,直接运行debug下生成的exe文件能成功连上。 请问为何调试时就不能连上,调试时没有任何报错 请教各位,原因在哪?如何解决?
mfc连接ado数据库成功,但插入记录时程序停止运行怎么办!
mfc连接ado数据库成功,但插入记录时程序停止运行怎么办!mfc连接ado数据库成功,但插入记录时程序停止运行怎么办!
mfc ado数据库连接以及数据操作
ado 连接sql serve数据库 如何把数据读取出来显示到报表中啊? 每次总是连接数据库 总是出现无效指针错误 这个应该如何弄啊? 我是新手请教各位大神帮忙啊!
MFC ADO连接远程数据库问题
情景:现在S处有一台服务器上安装数据库,将端口开放给外网。另外C处开发客户端软件连接远程连接到数据库,C处客户端采用MFC+ADO编写,服务器惠普,操作系统Winser2012,数据库WinSql2012,服务器端那面是外网光纤接入,光纤接入处应该是很稳定的,然后经过路由器组起内网。 问题: 1.现在在外地安装客户端,访问数据库,每隔一段时间就会出现数据库断开连接这种错误。 2.我用tcping 连续ping S处路由器和服务器的时候,经常有很小一段时间确实会出现failed的情况,这种情况出现过后客户端到数据库的连接就断开了。 现在客户抱怨,经常C处客户端就会提示数据连接已断开,XXX数据表打开错误。。。然后就得再重启客户端。 有没有做过类似项目的朋友帮忙解答一下: 1.是该从那面网络上去着手,更换内部的路由器? 2.从软件上着手 3.其它解决方案
64位系统编写MFC程序通过ado连接Oracle在项目属性设置为win32平台时调试出错
我64位的系统用VS2010编写MFC程序,通过ADO方式连接Oracle数据库,在项目属性中设置为x64平台时,程序调试可以正常的连接数据库并对数据库进行增删改查等操作;但是将项目属性设置为win32平台时,程序调试就停在连接数据库那一语句并报有未经处理的异常,请问到底是什么原因啊?应该如何解决?
在MFC中用ADO连接excel时找不到数据表
无论是用ADO的OpenSchema( adSchemaTables ),还是用 ADOX 的 _CatalogPtr 找系统表,都找不到数据表,而文件里面又确实有一个表,这是什么原因? 附程序代码: ADODB::_ConnectionPtr m_pConnection; ADODB::_RecordsetPtr m_pRecordset; ::CoInitialize( NULL ); m_pConnection.CreateInstance( __uuidof( ADODB::Connection ) ); m_pRecordset.CreateInstance( __uuidof( ADODB::Recordset ) ); CString csConnect; csConnect.Format("Provider=Microsoft.ACE.OLEDB.12.0;" "Data Source='txlx.xls'; Extended Properties='Excel 8.0;HDR=YES;IMEX=0'" ); _bstr_t strConnect; strConnect = csConnect; try{ m_pConnection ->Open( strConnect, "", "", ADODB::adConnectUnspecified ); } catch( _com_error &e ) { CString szError; szError.Format( "数据库连接失败!\n%s\n%s", e.ErrorMessage(), (char*)(e.Description()) ); MessageBox( szError ); } _CatalogPtr m_pCatalog = NULL; _TablePtr m_pTable = NULL; m_pCatalog.CreateInstance( __uuidof( Catalog )); try{ m_pCatalog ->PutActiveConnection( _variant_t((IDispatch*)m_pConnection)); } catch( _com_error &e ) { CString szError; szError.Format( "数据目录关联失败!\n%s\n%s", e.ErrorMessage(), (char*)(e.Description()) ); MessageBox( szError ); } _variant_t vIndex = (short)0; try{ m_pTable = m_pCatalog ->Tables ->GetItem( vIndex ); AfxMessageBox( m_pTable ->Name ); } catch( _com_error &e ) { CString szError; szError.Format( "数据表获取失败!\n%s\n%s", e.ErrorMessage(), (char*)(e.Description()) ); MessageBox( szError ); } if( m_pRecordset != NULL && m_pRecordset ->State == ADODB::adStateOpen ) { m_pRecordset ->Close(); } if( m_pConnection != NULL ) { m_pConnection->Close(); } m_pConnection.Release(); m_pRecordset.Release(); ::CoUninitialize(); 错误提示:数据表获取失败! 在对应所需名称或序数的集合中,未找到项目。
新手求问 有关mfc对数据库进行模糊查询
刚接触mfc mfc已使用ado连接上access数据库 想实现通过表中一字段模糊查询能在列表框中输出整行信息 求vc6实例
MFC通过ADO连接数据库,Execute()函数出现问题!希望有人能帮帮解答一下
![图片说明](https://img-ask.csdn.net/upload/201607/31/1469958338_251056.png)为什么我调试程序在这个地方就会出现这个问题:! [图片说明](https://img-ask.csdn.net/upload/201607/31/1469958368_234433.png)
MFC使用ADO往数据库中如何插入带有毫秒的时间格式??
MFC使用ADO往数据库中如何插入带有毫秒的时间格式?? 请教各位大牛
MFC如何连接ado数据库,以及匹配数据库里的用户名,密码。
想要写一登录界面。MFC如何连接ado数据库;并与数据库里的登录名,密码比较是否匹配(刚接触希望步骤明了些)
MFC组合框连接access数据库输出文字到编辑框
如题,准备做一个查询系统,想在组合框中输入查询内容,点击查询,连接access数据库,将所得内容输出在编辑框中~数据库做好了
我用mfc通过ado链接数据库,msado导入进去了,也初始化了。定义链接指针出错了
stdafx.h加入 #import "c:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" rename_namespace("ADOCG") rename("EOF","adoEOF") //rename("BOF","adoBOF") no_namespace 然后定义三个指针 _ConnectionPtr pConnection; _CommandPtr pCmd; _RecordsetPtr pRecord; 编译通不过![图片说明](https://img-ask.csdn.net/upload/201804/03/1522717200_530286.jpg)
求助,关于MFC中ado数据库连接的问题
本人ado编程连接access数据库,却一直连接不上,上连接部分代码。在m_pConnection->Open执行后,返回的hr值为E_FAIL,而且不报错不知如何调试。各位求指教。 _ConnectionPtr m_pConnection; _CommandPtr m_pCommand; _RecordsetPtr m_pRecordset; _bstr_t szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\RFIDdata\\goods.mdb"; try { hr = m_pConnection.CreateInstance(__uuidof(Connection)); if (SUCCEEDED(hr)) { m_pConnection->put_CommandTimeout(long(0)); hr =m_pConnection->Open(szConnect,_T(""),_T(""),adModeUnknown); hr = m_pCommand.CreateInstance(__uuidof(Command)); m_pCommand->put_CommandTimeout(long(0)); m_pCommand->put_ActiveConnection(_variant_t(m_pConnection)); }
MFC ADO 操作ACCESS数据库,如何给一个字符串型字段赋空值?
1、定义变量 _variant_t var 2、从数据库中得到字段(字符串型)的值后,用 var.vt!=VT_NULL来判断。 3、给该字符串型字段 赋空值的时候,使用多种方法,比如: 1)pApp->m_pRecordset->PutCollect((字段名), _variant_t(_T(""))); 2)pApp->m_pRecordset->PutCollect((字段名),VT_NULL); 在前面进行 var.vt!=VT_NULL判断的时候,总是不成功。 请高手帮忙指点,给字符型字段赋空值和判断是否为空,该如何写才能得到预期的结果。 非常感谢!
MFC对话框程序ADO连接数据库,QueryInterface能否用在非对话框类中
初步接触MFC和ADO,在自己建的功能类里想实现操作数据库功能,可是却出现了图片上的问题,在线等,求帮助![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/54.gif)
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
前端 | 2. 正则
转载请注明以下: 本文转自清自以敬的博客:https://blog.csdn.net/qq_45791147 文章目录1.转义2.正则表达式初步2.1.匹配字符2.1.1.组成元素2.1.2.基础正则的设计 1.转义 转义的作用: 当某个字符在表达式中具有特殊含义,例如字符串引号中出现了引号,为了可以使用这些字符本身,而不是使用其在表达式中的特殊含义,则需要通过转义符“\”来构建该字符转义...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
Docker 从入门到掉坑
Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器。但是docker本身和虚拟机还是有较为明显的出入的。我大致归纳了一下,可以总结为以下几点: docker自身也有着很多的优点,关于它的优点,可以总结为以下几项: 安装docker 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Doc...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问