程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 引見一個針對C++法式的MySQL拜訪庫soci

引見一個針對C++法式的MySQL拜訪庫soci

編輯:MySQL綜合教程

引見一個針對C++法式的MySQL拜訪庫soci。本站提示廣大學習愛好者:(引見一個針對C++法式的MySQL拜訪庫soci)文章只能為提供參考,不一定能成為您想要的結果。以下是引見一個針對C++法式的MySQL拜訪庫soci正文


這些是參考了國外一些文章和我的小我經歷總結出來,我想對寫CSS的前端用戶來講是值得進修的。

1、CSS書寫次序

1.地位屬性(position, top, right, z-index, display, float等)
2.年夜小(width, height, padding, margin)
3.文字系列(font, line-height, letter-spacing, color- text-align等)
4.配景(background, border等)
5.其他(animation, transition等)

css-written-order

2、CSS書寫標准
1.應用CSS縮寫屬性
CSS有些屬性是可以縮寫的,好比padding,margin,font等等,如許精簡代碼同時又能進步用戶的浏覽體驗。

abbreviation

2.去失落小數點前的“0”

del-zero

3.簡寫定名

許多用戶都愛好簡寫類名,但條件是要讓人看懂你的定名能力簡寫哦!

name

4.16進制色彩代碼縮寫

有些色彩代碼是可以縮寫的,我們就盡可能縮寫吧,進步用戶體驗為主。

color-abb

5連字符CSS選擇器定名標准

1).長稱號或詞組可使用中橫線來為選擇器定名。

2).不建議應用“_”下劃線來定名CSS選擇器,為何呢?

輸出的時刻少按一個shift鍵; 閱讀器兼容成績 (好比應用_tips的選擇器定名,在IE6是有效的) 能優越辨別JavaScript變量定名(JS變量定名是用“_”)

underline

6.不要隨便應用id

id在JS是獨一的,不克不及屢次應用,而應用class類選擇器卻可以反復應用,別的id的優先級優先與class,所以id應當按需應用,而不克不及濫用。

css-id

7.為選擇器添加狀況前綴

有時刻可以給選擇器添加一個表現狀況的前綴,讓語義更清楚明了,好比下圖是添加了“.is-”前綴。

status-select

3、CSS定名標准(規矩)
經常使用的CSS定名規矩

頭:header
內容:content/container
尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面核心掌握全體佈局寬度:wrapper
閣下中:left right center
登錄條:loginbar
標記:logo
告白:banner
頁面主體:main
熱門:hot
消息:news
下載:download
子導航:subnav
菜單:menu
子菜單:submenu
搜刮:search
友誼鏈接:friendlink
頁腳:footer
版權:copyright
轉動:scroll
內容:content
標簽:tags
文章列表:list
提醒信息:msg
小技能:tips
欄目的題:title
參加:joinus
指南:guide
辦事:service
注冊:regsiter
狀況:status
投票:vote
協作同伴:partner

正文的寫法:

/* Header */
內容區
/* End Header */

id的定名:

1)頁面構造

容器: container
頁頭:header
內容:content/container
頁面主體:main
頁尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面核心掌握全體佈局寬度:wrapper
閣下中:left right center

(2)導航

導航:nav
主導航:mainnav
子導航:subnav
頂導航:topnav
邊導航:sidebar
左導航:leftsidebar
右導航:rightsidebar
菜單:menu
子菜單:submenu
題目: title
摘要: summary

(3)功效

標記:logo
告白:banner
上岸:login
登錄條:loginbar
注冊:register
搜刮:search
功效區:shop
題目:title
參加:joinus
狀況:status
按鈕:btn
轉動:scroll
標籤頁:tab
文章列表:list
提醒信息:msg
以後的: current
小技能:tips
圖標: icon
正文:note
指南:guild
辦事:service
熱門:hot
消息:news
下載:download
投票:vote
協作同伴:partner
友誼鏈接:link
版權:copyright

4、留意事項::

1.一概小寫;
2.盡可能用英文;
3.不加中槓和下劃線;
4.盡可能不縮寫,除非一看就明確的單詞。

5、CSS款式表文件定名

重要的 master.css
模塊 module.css
根本共用 base.css
結構、版面 layout.css
主題 themes.css
專欄 columns.css
文字 font.css
表單 forms.css
補釘 mend.css
打印 print.css

ame; int sex; }; namespace soci { template<> struct type_conversion<Person> { typedef values base_type; static void from_base(values const & v, indicator /* ind */, Person & p) { p.id = v.get<int>("id"); p.name = v.get<std::string>("name"); p.sex = v.get<int>("sex"); } static void to_base(const Person & p, values & v, indicator & ind) { v.set("id", p.id); v.set("name", p.name); v.set("sex", p.sex); ind = i_ok; } }; }

關於

template<> struct type_conversion<Person>
 
template<> struct type_conversion<Person>

這裡,官方的文檔是是有誤的,我查了好長時光,依照下面的寫法來寫便可。

1.用數據構造來select

TEST(soci,select_obj_one)
{
  try
  {
    session sql(mysql, "db=soci user=dantezhu");
    indicator ind;

    int count;
    sql << "select count(*) from tb_test", into(count, ind);
    ASSERT_EQ(ind, i_ok) << count;

    string name = "dandan";
    Person p;
    sql << "select id,name,sex from tb_test where name = :name",
      into(p, ind), use(name);

    ASSERT_EQ(ind, i_ok) << name;

    if (sql.got_data())
    {
      cout<< p.id 
        << "," 
        << p.name 
        << "," 
        << p.sex 
        << endl;
    }

  }
  catch (exception const &e)
  {
    FAIL()<<e.what();
  }
}
 
TEST(soci,select_obj_one)
{
  try
  {
    session sql(mysql, "db=soci user=dantezhu");
    indicator ind;
 
    int count;
    sql << "select count(*) from tb_test", into(count, ind);
    ASSERT_EQ(ind, i_ok) << count;
 
    string name = "dandan";
    Person p;
    sql << "select id,name,sex from tb_test where name = :name",
      into(p, ind), use(name);
 
    ASSERT_EQ(ind, i_ok) << name;
 
    if (sql.got_data())
    {
      cout<< p.id 
        << "," 
        << p.name 
        << "," 
        << p.sex 
        << endl;
    }
 
  }
  catch (exception const &e)
  {
    FAIL()<<e.what();
  }
}

2.用數據構造來停止insert

TEST(soci,insert_obj_noexist)
{
  try
  {
    session sql(mysql, "db=soci user=dantezhu");

    Person p = {
      0,
      "niuniu",
      2
    };

    sql << "insert into tb_test(name, sex) values(:name, :sex)",
      use(p);
  }
  catch (exception const &e)
  {
    FAIL()<<e.what();
  }
}
 
TEST(soci,insert_obj_noexist)
{
  try
  {
    session sql(mysql, "db=soci user=dantezhu");
 
    Person p = {
      0,
      "niuniu",
      2
    };
 
    sql << "insert into tb_test(name, sex) values(:name, :sex)",
      use(p);
  }
  catch (exception const &e)
  {
    FAIL()<<e.what();
  }
}

全部就是如許~~上面是文中代碼文件的下載途徑:
http://code.谷歌.com/p/vimercode/source/browse/#svn%2Ftrunk%2Fsoci_test

別的,固然python下的mysql拜訪也算比擬簡略,但照樣想曉得能否有更Pythonic的庫或接口,假如有同伙曉得,迎接不惜告訴。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved