本文整理汇总了C#中Mono.Data.Sqlite.SqliteStatement.MapParameter方法的典型用法代码示例。如果您正苦于以下问题:C# SqliteStatement.MapParameter方法的具体用法?C# SqliteStatement.MapParameter怎么用?C# SqliteStatement.MapParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Data.Sqlite.SqliteStatement
的用法示例。
在下文中一共展示了SqliteStatement.MapParameter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MapParameters
/// <summary>
/// This function attempts to map all parameters in the collection to all statements in a Command.
/// Since named parameters may span multiple statements, this function makes sure all statements are bound
/// to the same named parameter. Unnamed parameters are bound in sequence.
/// </summary>
internal void MapParameters(SqliteStatement activeStatement)
{
if (_unboundFlag == false || _parameterList.Count == 0 || _command._statementList == null) return;
int nUnnamed = 0;
string s;
int n;
int y = -1;
SqliteStatement stmt;
foreach(SqliteParameter p in _parameterList)
{
y ++;
s = p.ParameterName;
if (s == null)
{
s = String.Format(CultureInfo.InvariantCulture, ";{0}", nUnnamed);
nUnnamed++;
}
int x;
bool isMapped = false;
if (activeStatement == null)
x = _command._statementList.Count;
else
x = 1;
stmt = activeStatement;
for (n = 0; n < x; n++)
{
isMapped = false;
if (stmt == null) stmt = _command._statementList[n];
if (stmt._paramNames != null)
{
if (stmt.MapParameter(s, p) == true)
isMapped = true;
}
stmt = null;
}
// If the parameter has a name, but the SQL statement uses unnamed references, this can happen -- attempt to map
// the parameter by its index in the collection
if (isMapped == false)
{
s = String.Format(CultureInfo.InvariantCulture, ";{0}", y);
stmt = activeStatement;
for (n = 0; n < x; n++)
{
if (stmt == null) stmt = _command._statementList[n];
if (stmt._paramNames != null)
{
if (stmt.MapParameter(s, p) == true)
isMapped = true;
}
stmt = null;
}
}
}
if (activeStatement == null) _unboundFlag = false;
}