﻿<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Delphi Develope It</title>
	<link>http://develope-it.com</link>
	<description>Программирование на Delphi в статьях и примерах</description>
	<pubDate>Wed, 01 Oct 2008 06:36:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
	<language>en</language>
			<item>
		<title>Как узнать, доступен ли в сети сервер MS SQL</title>
		<link>http://develope-it.com/303</link>
		<comments>http://develope-it.com/303#comments</comments>
		<pubDate>Wed, 19 Dec 2007 19:10:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Базы данных]]></category>

		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://develope-it.com/303</guid>
		<description><![CDATA[
Два программиста:
- Ко мне вчера чувак приходил, сервак сломал.
- Он что хакер?
- Нет, мудак!
function CheckMSSQLServer(fServerName, fUserName, fPsw : string) : Bool;
var
wDb : TDatabase;
begin
// Check if MS SQL Server is reachable
// Важно! BDE Должна быть установлена
Result := False;
wDb := TDatabase.Create(nil);
with wDb do
begin
DatabaseName := &#8216;wDbDatabaseName&#8217;; // arbitrary name, must be unique
// in current Session
Params.Values[&#8217;SERVER Name&#8217;] := fServerName;
Params.Values[&#8217;USER [...]]]></description>
			<content:encoded><![CDATA[<p><img width='1' height='1' src='http://blogun.ru/it.000000.010597.i.gif'><br />
Два программиста:<br />
- Ко мне вчера чувак приходил, сервак сломал.<br />
- Он что хакер?<br />
- Нет, мудак!</p>
<p>function CheckMSSQLServer(fServerName, fUserName, fPsw : string) : Bool;<br />
var<br />
wDb : TDatabase;<br />
begin<br />
// Check if MS SQL Server is reachable<br />
// Важно! BDE Должна быть установлена<br />
Result := False;<br />
wDb := TDatabase.Create(nil);</p>
<p>with wDb do<br />
begin<br />
DatabaseName := &#8216;wDbDatabaseName&#8217;; // arbitrary name, must be unique<br />
// in current Session<br />
Params.Values[&#8217;SERVER Name&#8217;] := fServerName;<br />
Params.Values[&#8217;USER Name&#8217;] := fUserName;<br />
Params.Values[&#8217;PASSWORD&#8217;] := fPsw;<br />
LoginPrompt := False;<br />
end;</p>
<p>try<br />
wDb.DriverName := &#8216;MSSQL&#8217;;<br />
try<br />
wDb.Connected := True;<br />
wDb.Connected := False;<br />
except<br />
ShowMessage(&#8217;Server is not reachable&#8217;);<br />
end;<br />
Result := True;<br />
finally<br />
wDb.Free;<br />
end;<br />
end;</p>
]]></content:encoded>
			<wfw:commentRss>http://develope-it.com/303/feed</wfw:commentRss>
		</item>
		<item>
		<title>Интерактивные SQL-запросы</title>
		<link>http://develope-it.com/304</link>
		<comments>http://develope-it.com/304#comments</comments>
		<pubDate>Wed, 19 Dec 2007 12:10:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Базы данных]]></category>

		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://develope-it.com/304</guid>
		<description><![CDATA[Как мне передать значение переменной в SQL-запросе? К примеру, в обработчике onClick клавиши вывести все записи с величиной поля большей, чем задал пользователь. Можно ли в Delphi создать что-либо подобное механизму запросов, реализованному в Paradox for Windows?
Решение этой задачи в Delphi подобно созданию и выполнению строки запроса SQL в Paradox.
Pdoxwin код:
method pushButton(var eventInfo Event)
var
s  [...]]]></description>
			<content:encoded><![CDATA[<p>Как мне передать значение переменной в SQL-запросе? К примеру, в обработчике onClick клавиши вывести все записи с величиной поля большей, чем задал пользователь. Можно ли в Delphi создать что-либо подобное механизму запросов, реализованному в Paradox for Windows?</p>
<p>Решение этой задачи в Delphi подобно созданию и выполнению строки запроса SQL в Paradox.</p>
<p>Pdoxwin код:</p>
<p>method pushButton(var eventInfo Event)<br />
var<br />
s  string<br />
q  query<br />
d  database<br />
endvar</p>
<p>d.open( &#8220;MYALIAS&#8221; )<br />
s = &#8220;select * from mytable where somefield=\&#8221;" + entryField.value + &#8220;\&#8221;"<br />
q.readFromString( s )<br />
q.executeSQL( d )</p>
<p>endmethod</p>
<p>Delphi код:</p>
<p>procedure TForm1.Button1Click(Sender: TObject);<br />
begin<br />
MyQuery.Active := false;<br />
MyQuery.SQL.clear;<br />
MyQuery.SQL.add(&#8217;select * from mytable where somefield=&#8221;&#8216; +<br />
EntryField.Text + &#8216;&#8221;&#8216;);<br />
MyQuery.Active := true;<br />
end;</p>
]]></content:encoded>
			<wfw:commentRss>http://develope-it.com/304/feed</wfw:commentRss>
		</item>
		<item>
		<title>Блокируется таблица в MS SQL Server</title>
		<link>http://develope-it.com/311</link>
		<comments>http://develope-it.com/311#comments</comments>
		<pubDate>Tue, 18 Dec 2007 17:13:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Базы данных]]></category>

		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://develope-it.com/311</guid>
		<description><![CDATA[По умолчанию, оператор UPDATE в MS SQL Server пытается поставить эксклюзивную табличную блокировку. Вы можете обойти это, используя ключевое слово FROM в сочетании с опцией PAGLOCK для использования MS SQL Server страничных блокировок вместо эксклюзивной табличной блокировки:
UPDATE orders SET customer_id=NULL FROM orders(PAGLOCK) WHERE customer_id=32;
Блокиpовка на всю таблицу пpи UPDATE ставится только в том случае, если [...]]]></description>
			<content:encoded><![CDATA[<p>По умолчанию, оператор UPDATE в MS SQL Server пытается поставить эксклюзивную табличную блокировку. Вы можете обойти это, используя ключевое слово FROM в сочетании с опцией PAGLOCK для использования MS SQL Server страничных блокировок вместо эксклюзивной табличной блокировки:</p>
<p>UPDATE orders SET customer_id=NULL FROM orders(PAGLOCK) WHERE customer_id=32;<br />
Блокиpовка на всю таблицу пpи UPDATE ставится только в том случае, если по пpедикату нет индекса. Так, можно пpосто пpоиндексиpовать таблицу orders по полю customer_id, и не забывать делать UPDATE STATISTIC, хотя будет работать и с PAGLOCK. Просто не факт, что UPDATE всегда делает табличную блокировку.</p>
]]></content:encoded>
			<wfw:commentRss>http://develope-it.com/311/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
