我的问题是如何SqlDataReader
在C#中获取查询返回的行数.我已经看到了一些关于此的答案,但没有明确定义,除了一个声明用Read()
方法做一个while循环并增加一个计数器.
我的问题是我试图填充一个多维数组,第一行是列标题名称,后面的每一行都是行数据.
我知道我可以将这些东西转储到List控件中而不用担心它,但是对于我自己的个人启发,我还想在我选择的时候将数据拉入和拉出阵列,并以不同的格式显示它.
所以我认为我不能这样做Read()
然后增加++方式,因为这意味着我必须打开Read()
然后Read()
再次打开以获得行数然后列数据.
只是我正在谈论的一个小例子:
int counter = 0;
while (sqlRead.Read())
{
//get rows
counter++
}
Run Code Online (Sandbox Code Playgroud)
然后一个for循环运行列和弹出
something.Read();
int dbFields = sqlRead.FieldCount;
for (int i = 0; i < dbFields; i++)
{
// do stuff to array
}
Run Code Online (Sandbox Code Playgroud) 我有一个用户填写的表单,并在表单上有多个相同的字段,如"项目名称","项目日期","catagory"等.根据用户提交的表单数量,我的目标是:
但是,PHP向我发出了一条我似乎不明白的通知:
注意:
注意:未初始化的字符串偏移:第90行的1 ... dataPasser.php
PHP
$myQuery = array();
if ($varsCount != 0)
{
for ($i=0; $i <= $varsCount; $i++)
{
$var = "insert into projectData values ('" . $catagory[$i] . "', '" . $task[$i] . "', '" . $fullText[$i] . "', '" . $dueDate[$i] . "', null, '" . $empId[$i] ."')";
array_push($myQuery, $var);
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个问题的参考,但它们并不准确,我无法推断实际问题源于何处.我非常感谢任何有助于理解导致数组未正确初始化的原因.
我将SQL Server数据库从一个系统复制到下一个相同的设置,但是完全不同的物理机器.我使用Norton Ghost手动恢复文件,例如,重新安装SQL Server 2008 Express后,在c:\ Program Files中找到的整个SQL Server 2008文件夹.
我的一个数据库在其中一个表列上启用了AES_256加密.我重置我的IIS7并试图运行访问数据库的应用程序,检索数据后,我收到此错误:
'/'应用程序中的服务器错误.请在执行此操作之前在数据库中创建主密钥或在会话中打开主密钥.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Data.SqlClient.SqlException:请在执行此操作之前在数据库中创建主密钥或在会话中打开主密钥.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
我已经完成了一些阅读,并找到了一些关于AES加密如何与机器密钥相关联的链接,但是如何将其复制到新系统却不知所措.或者甚至可能不是这样.
注意:我尝试删除对称密钥,证书和主密钥并重新创建它们.这消除了错误,但是通过AES_256加密的数据没有显示出来.但是,未加密的列可以执行.
任何帮助将非常感激.提前致谢!
我想在ASP.NET中编写自己的AJAX,而不是使用ASP.NET ScriptManager等.
为什么?我喜欢手动做东西并且知道内部的东西是如何工作的,所以我只想自己做.
所以我的问题是,在我进行AJAX调用之后:
var ajaxCall = new XMLHttpRequest();
....
ajaxCall.send(null)
Run Code Online (Sandbox Code Playgroud)
我怎样才能在C#中添加Page_Load(或不),以便它监听它并返回一个String例如.
使用ASP.NET MVC,我有一个模型,我附加属性,以便我可以使用MVC模型绑定验证,但这不会打破MVC的规则,你放置属于的项目视图,进入模型?我希望我不是为了变得聪明,但我对其他人的意见感到好奇.
public class Payments
{
[DataType(DataType.Text)]
[DisplayFormat(NullDisplayText="")]
[Display(Name="Payment Id")]
[Required(ErrorMessage="Required")]
public int PaymentId { get; set; } //todo: make this into a dropdown
[DataType(DataType.Text)]
[Display(Name="Bill Name")]
[Required(ErrorMessage = "Required")]
public string PaymentName { get; set; }
[DataType(DataType.Date)]
[Display(Name="Date to Post Payment")]
[Required(ErrorMessage = "Required")]
public DateTime PaymentDate { get; set; }
[DataType(DataType.Currency)]
[Range(0, 922337203685477.5807)]
[Required(ErrorMessage = "Required")]
public double PaymentAmount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个类连接到我的数据库,剥离东西并从数据库查询返回东西.无论如何,我遇到的问题是我试图调用runQuery()
方法,但每次尝试时,我都会收到此错误:
致命错误:在DatabaseConnector.php第22行中调用未定义的函数runQuery()
也许有任何想法?我知道runQuery
是私人的,但它属于同一类.只是为了踢,我把它改为公共任何方式,仍然有同样的错误:(
final class DatabaseConnector
{
private $db;
public function DatabaseConnector()
{
// constructor
}
public function connectMySQL($host, $user, $passwrd, $db, $query)
{
@ $db = new mysqli($host, $user, $passwrd, $db);
if (mysqli_connect_errno())
{
return mysqli_connect_errno();
}
else
{
$queryResult = runQuery($query);
return $queryResult;
}
}
private function runQuery($query)
{
$result = $db->query($query);
return $result;
}
}
Run Code Online (Sandbox Code Playgroud) 所以我不明白我在这里做错了什么.我想在我的ASP.NET MVC 2应用程序的母版页中填充DropDownList.
Projects.Master
<div id="supaDiv" class="mainNav">
<% Html.DropDownList("navigationList"); %>
</div>
Run Code Online (Sandbox Code Playgroud)
MasterController.cs
namespace ProjectsPageMVC.Controllers.Abstracts
{
public abstract class MasterController : Controller
{
public MasterController()
{
List<SelectListItem> naviList = new List<SelectListItem>();
naviList.Add(new SelectListItem
{
Selected = true,
Text = "AdvanceWeb",
Value = "http://4168web/advanceweb/"
});
naviList.Add(new SelectListItem
{
Selected = false,
Text = " :: AdvanceWeb Admin",
Value = "http://4168web/advanceweb/admin/admindefault.aspx"
});
ViewData["navigationList"] = naviList;
}
}
}
Run Code Online (Sandbox Code Playgroud)
DropDownList甚至没有出现在DOM中,我不知道我做错了什么.
ProjectsController
namespace ProjectsPageMVC.Controllers
{
public class ProjectsController : MasterController
{
public ActionResult Index()
{ …
Run Code Online (Sandbox Code Playgroud) 我正在使用存储过程将值放入SQL Server.过程将向添加的行添加ID.我需要将此ID返回到我的代码中.
目前我可以在Visual Studio的OUTPUT窗口中看到输出ID,但似乎无法在我的代码中捕获它.以下是proc的摘要版本:
SQL:
CREATE PROCEDURE dbo.DoSomething
(
@var1 INT = NULL,
@var2 INT = NULL,
@var3 DATE = NULL
)
AS
BEGIN
INSERT INTO atable
(
vara,
varb,
varc
)
VALUES
(
@var1,
@var2,
@var3
)
RETURN SCOPE_IDENTITY()
END
Run Code Online (Sandbox Code Playgroud)
C#:
int result = 0;
/// create command
SqlCommand cmd = new SqlCommand("DoSomething", this.OpenSqlConnection());
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@var1", thing.value1);
cmd.Parameters.AddWithValue("@var2", thing.value2);
cmd.Parameters.AddWithValue("@var3", thing.value3);
/// send data to db
result = (int)cmd.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
所以我收到一个错误:对象引用未设置为对象的实例.当它到达(int)cmd.ExecuteScalar()时.
有任何想法吗?
我正在使用Entity Framework 4.3 Code-FIrst创建一个新的数据库模型; 使用Fluent API.假人模型如下.
所以我的主要对象是Something,我需要跟踪这个.所有其他项目都是免费的.通常在数据库中,我会分配一个表,例如Contact,主键和关系的foregin键.但是,阅读更多有关Fluent API和复杂类型的内容,特别是本文,我注意到(我认为)我可以让EF负责链接这些对象/表格,我不必担心它们作为存储库我的MVC应用程序.
所以请注意:
知道了这一点,我的困惑在于复杂类型,因为Contact是Somethign的Complext类型,Address和PhoneNumber是Something to Something.
(请注意,为简洁起见,省略了一些代码.)
// attempt
void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.ComplexType<Contact>();
modelBuilder.ComplexType<Contact>().Property(p => p.Address).IsRequired(); // COMPILER ERROR
modelBuilder.ComplexType<Address>();
modelBuilder.ComplexType<PhoneNumber>();
}
// DUMMY MODEL
class Something()
{
void Something()
{
this.Contact = new HashSet<Contact>( );
}
DateTime DOB { get; set; }
int YearsEmployed { get; set; }
ICollection<Contact> Contact { get; set; }
}
class Contact()
{
void Contact() …
Run Code Online (Sandbox Code Playgroud) 我是PHP的新手,所以我在学习时遇到一个小问题:
我构建了一个名为DataStrip.php的类
<?php
final class DataStrip
{
public function DataStrip()
{
// constructor
}
public function stripVars($vars)
{
return $vars;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
然后我试图传递公共函数stripVars一个值:
<?php
include_once ('lib/php/com/DataStrip.php');
echo($projCat);
$a = new DataStrip;
$a->stripVars($projCat);
echo($a);
?>
Run Code Online (Sandbox Code Playgroud)
但是,我收回了这个错误:
(!)可捕获的致命错误:类DataStrip的对象无法在myfilepath中转换为字符串
...对于我在这里可能做错的任何建议?现在这只是一个测试功能,因为我正在尝试习惯OOP PHP.:)
我正在尝试获取Flash播放器所在的当前URL.不是.swf文件的URL,而是浏览器指向的URL.到目前为止我用过:
var st:String = ExternalInterface.call("window.location.href");
Run Code Online (Sandbox Code Playgroud)
不幸的是,这在IE中不起作用.从我的研究中,我可以看出它无论如何都不适用于IE.
我在互联网上发现的唯一另一件事就是在标签上加上"id"标签.
所以我试图找出是否和/或如何:
以某种方式使用IE和其他浏览器中的ExternalInterface进行调用,以返回给我当前的URL.
要么
在标记上标记id ="PA"属性,让AS3读取该标记并将其作为String引入,而不使用JavaScript
我的限制是我只能将标记添加到HTML中,并且不能添加任何JavaScript函数.这必须在AS3中严格完成.
不管怎样,我需要知道我在哪个URL.任何帮助是极大的赞赏.
javascript internet-explorer actionscript-3 externalinterface
嘿伙计们,我数据库中的一个表有一个字段"描述",允许'Nulls'.这在ASP.NET中呈现页面时会出现问题,因为我想确保我将字符串解码为数据库中的字符串,因为我正在编写它.当然,描述中有一些NULL.我希望保留的字段.
所以我的ASP.NET页面有这个代码
<asp:TextBox ID="DescInfo" Text='<%# HttpUtility.HtmlDecode((string)Eval("Description")) %>' />
Run Code Online (Sandbox Code Playgroud)
所以当我渲染页面时,我会得到:
Unable to cast object of type 'System.DBNull' to type 'System.String'.
Run Code Online (Sandbox Code Playgroud)
我看待它的方式,我有两个选择:
要么
任何人都有更好的想法吗?
asp.net ×3
c# ×3
php ×3
asp.net-mvc ×2
class ×2
sql ×2
aes ×1
ajax ×1
arrays ×1
casting ×1
complextype ×1
dbnull ×1
encryption ×1
fluent ×1
function ×1
javascript ×1
methods ×1
model ×1
oop ×1
return ×1
return-value ×1
string ×1
view ×1